Recommended Posts

i think hiding the app when the battery is plugged in shouldnt be a problem (im no coder)

when the battery is fully charged the icon changes colour so just adding something to that event to uncheck the always on top option would do the trick :)

@bangbang023:

This should get you started: http://www.codeproject.com/cs/media/perpxa...harp.asp?df=100

It is far from complete, so you have to extend that to make something usefull out of it.

Did you use that dll in your app? Someone has shown it to me already and someone even took the trouble of porting it to VB .net, but I am just leery about using someone elses code, even if they do grant full permission to do so.

Did you use that dll in your app? Someone has shown it to me already and someone even took the trouble of porting it to VB .net, but I am just leery about using someone elses code, even if they do grant full permission to do so.

There is no DLL, only a C# class file.

I used this class indeed, as a base though. I added extra code to handle mouse clicks, mouse moves, etc.

Okay, now here is the next obvious recommendation. When you change between the 4 battery states, have it fade to whatever the desired state is. So if I have it hidden when I am on battery, then unplug, have it fade to visibility.

Also, I don't know if you are doing this or not, but if you are at 0 opacity, just set this.Show to false. I believe that if you are at 0 opacity but still showing, it still uses cpu power to "draw" the invisible item. I could be wrong there though, if anyone knows for sure let me know.

Other than that it's looking great. You still need to see if you can find out about that click through thing so you can have the meter as just a watermark on the screen and not an actual form thats open. Keep up the great work :)

Edit: Oh yeah, and I bow down before you after that last comment Schmoove ;)

Okay, now here is the next obvious recommendation. When you change between the 4 battery states, have it fade to whatever the desired state is. So if I have it hidden when I am on battery, then unplug, have it fade to visibility.

Also, I don't know if you are doing this or not, but if you are at 0 opacity, just set this.Show to false. I believe that if you are at 0 opacity but still showing, it still uses cpu power to "draw" the invisible item. I could be wrong there though, if anyone knows for sure let me know.

Other than that it's looking great. You still need to see if you can find out about that click through thing so you can have the meter as just a watermark on the screen and not an actual form thats open. Keep up the great work :)

Edit: Oh yeah, and I bow down before you after that last comment Schmoove ;)

Yeah I thought about the fade thing, but forgot to implement it :blush:

I'll schedule that for the next release. In the next release also the trayicon will mimic the battery state.

About the CPU usage, I don't think that is really nescessary. Currently the application hardly uses CPU power. In the taskmanager I don't see it use any even.... it stays on 0% all the time.

I've been searching for info on how to make the monitor click-through, but haven't been able to find anything on that matter. I know you probably have to check which window is behind it and then pass the click message to that application, though I haven't been able to pull that off yet. Maybe in a later release, but can't promise.

I can, but I'm not gonna....

Let me clarify that statement a bit.

Normally I only program in C++, I did quite a lot of stuff in C++ so it would not be too hard to make this application in C++. Though I want to learn how to use C# and in particular the .NET framework, therefore I chose to make this project in .NET. So just to learn.

I can easily make this in C++, it is no that difficult, but I'm not gonna, because it will cost me a lot of time to rewrite the whole code. Besides I will end up with 2 versions I have to maintain, one because I still want to continue exploring .NET and one because you want one in C++, which is not something I'm looking forward to. So I'm simply not gonna make it in C++, period.

.NET might use a bit more memory, but if you have 512mb (or even 256mb) it shouldn't be much of a problem. It uses RAM, but that doesn't mean it performs bad. Infact, it hardly uses CPU cycles, so I don't see the problem. It doesn't hog your system, it doesn't interfere with other programs, so what's the big deal? The bit of extra RAM usage?

Fair enough, if you find it too much, then don't use it.... it's that simple.

Keep in mind though that .NET is the future of Windows. You'll see more and more programs being written in .NET. Better get used to it.

Edited by Schmoove
About the CPU usage, I don't think that is really nescessary. Currently the application hardly uses CPU power. In the taskmanager I don't see it use any even.... it stays on 0% all the time.
True, but a good programmer makes their programs as efficient as possible, even if the difference isn't noticable ;)
Keep in mind though that .NET is the future of Windows. You'll see more and more programs being written in .NET. Better get used to it.

I knew what you meant and why, but the part I quoted is 100% true, and that's what I was happy about. I did C/C++ before I did C# as well, but I wont program in anything other than .NET now. It's much more powerful.

You're right that's true too :laugh:

I'll see if I can come around to do that.

Sorry, I'm just a VERY picky programmer ;) People who have written programs with me know that about me. Any little thing that I can make better or faster I do :laugh:

Ok, let's see if someone can help me.

When i'm not using the battery in my laptop and i dont have plug the icon stay's like that and i dont have a transparency control over it.

I'm using version 0.4, in version 0.3 the transparency control used to control these state too.

The only options now are to disable the prog, and i dont want to do it.

Any sugestions?

PS: sorry about the bad english.

Print

batmon.JPG

Ok, let's see if someone can help me.

When i'm not using the battery in my laptop and i dont have plug the icon stay's like that and i dont have a transparency control over it.

I'm using version 0.4, in version 0.3 the transparency control used to control these state too.

The only options now are to disable the prog, and i dont want to do it.

Any sugestions?

PS: sorry about the bad english.

Print

http://pwp.netcabo.pt/jingarelho/batmon.JPG

I'm sorry, I never really thought about that. I'll release version 0.5 tonight and have that fixed.

Ok, updated to version 0.5.

A small update, but added some usefull features.

version 0.5

- Systemtray icon now mimics the battery monitor, so it shows you the status of you battery

- Added option to fade between monitor transitions

- Fixed the fact that you can't change the opacity when no battery is detected. You can now control the opacity of this state with the "charged" slider

- Systemtray icon now mimics the battery monitor, so it shows you the status of you battery

Could you make it show the recharging icon in the systray, once you are recharging again? This is the icon in my systray tray while recharging, it is at 95% at the moment.. (see attached image) Which to me looks red/battery getting lower.. not that it is, just looks like it/annoying :p

post-88-1095133738.jpg

I just got this program and it's quite cool :)

I have one feature request. Could you add an option for the Monitor to be click-through? This way I can leave it always on top and transparent and be able to click on the windows beneath it. I've done it before so I'll make it easy and give you the code:

protected override CreateParams CreateParams	
{
	get 
	{
  CreateParams cp = base.CreateParams;
  cp.ExStyle |= 0x00000020;  //WS_EX_TRANSPARENT - Makes it click through
  return cp;
	}
}

Good job on a nice program! :yes:

One thing I just noticed to add to your list... Charging should take precidence over critical battery level if you ask me. What I mean by that is when the battery is charging, it should use the opacity for charging, not the opacity for anything else. Unless you changed this in 0.5 which I just installed (and don't feel like draining my battery again just to check), then even when you are charging, if you are below 10% battery, it uses the opacity state of critical. I set critical to 100%, and charging to barely visible, so it doesn't seem right to me that it would be 100% even though it's charging.

That's all from me for now. Oh, and thanks for that snippet of code jay, that will be perfect for this program and I am sure I will use that sometime myself :).

Edit: Just noticed something. Please remove the keyboard accelerators. They affect other work, CTRL-F5 for building/running a program in VS mainly. Thanks

Edited by Betaz
I just got this program and it's quite cool  :)

I have one feature request. Could you add an option for the Monitor to be click-through? This way I can leave it always on top and transparent and be able to click on the windows beneath it. I've done it before so I'll make it easy and give you the code:

protected override CreateParams CreateParams	
{
	get 
	{
  CreateParams cp = base.CreateParams;
  cp.ExStyle |= 0x00000020;  //WS_EX_TRANSPARENT - Makes it click through
  return cp;
	}
}

Good job on a nice program!  :yes:

Thanks man, will see if I can fit that in.

EDIT: well that didn't work. This did though, thanks for the pointer!! (Y)

protected override CreateParams CreateParams	
{
   get 
   {
      CreateParams cp = base.CreateParams;
      cp.ExStyle |= 0x00080020;  //WS_EX_TRANSPARENT + WS_EX_LAYERED
      return cp;
   }
}

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.