It is currently February 24th, 2020, 9:11 am

Rainmeter Top Processes

Share and get help with Plugins and Addons
ch_rob
Posts: 22
Joined: March 24th, 2011, 2:45 pm

Re: Rainmeter Top Processes

Post by ch_rob »

GHOST® wrote: Just went to take a cruise, didnt get out of the driveway. ;o(

More than likely operator error, but it's not working. I made sure the old plugin was replaced with the new, restarted Rainmeter, even tried variations on your For example, to get the first 8 characters of the process names use s(%pName,0,7) in your format.
Oopsie... my bad. I updated the code, but not the DLLs. I've now properly updated the zip. Both versions of the DLL should have a date of 3/30/2011.
OK. Major hiccup. Dunno if this is the same in the first plugin I had, will have to check it, but a Measure with the TopProcesses Plugin will not disable via the !RainmeterDisableMeasureGroup bang. Can see it running in the skin and About even though all the others in the same Group are clearly Disabled. :o(
I am not familiar with a lot of the Rainmeter-isms. I would have expected that they "just work" from the rainmeter framework without me having to code them. I will look into this... maybe I've missed a developer's guide somewhere along the line.
my skin its showing Rainmeter using between 10 -15%, while in Rainmeter ABOUT, its showing only 1-3%.

The Ram is measuring preety close, within a few Mb of each other @ 58Mb in ABOUT and 60Mb in my Skin.
Measuring Ram is a bit of a science... You have to take two samples, then do some math based on the average usage across the entire time period between the two samples. So, depending on how quickly you have the plugin updating -vs- how often Rainmeter ABOUT is updating, there may be some discrepancy. I've validated the plugin against windows task manager, and the numbers are in line for me. Please take a look against task manager and report back if it is not in line.

-Chad
User avatar
GHOST®
Posts: 60
Joined: March 11th, 2011, 6:33 pm
Location: Garden City, MI

Re: Rainmeter Top Processes

Post by GHOST® »

So far so good on the String clipping now. Thats just FRACKIN AWESOME MAN!! ;o)
I am not familiar with a lot of the Rainmeter-isms. I would have expected that they "just work" from the rainmeter framework without me having to code them. I will look into this... maybe I've missed a developer's guide somewhere along the line.
Well, as I mentioned, I ran into what appears to be a similiar issue with a couple simple measures that use no plugins, so possibly a rainmeter issue and not your plugin after all?? Still investigating.

Difference is the simple measures no longer show their measurements in the skin, only in About. Where as TopProcessess continues about its business in both My Skin and About as if my giving it orders, suggestions, pleas, threats, to do otherwise. It will Hide|Unhide well enough, just need to lose the processing its doing while its hidden and all. ;o)

Well, Great Work man!! I 4 on3 GR8ly appr3Ci8 iT!!! :oD
"Do you want to be healed, now? Or would you prefer to bleed to death so I can try my hand at resurrection?"
User avatar
cwfrizzell
Posts: 76
Joined: August 10th, 2009, 9:03 pm

Re: Rainmeter Top Processes

Post by cwfrizzell »

Having trouble with this. Setting ProcNums to 0 should give the top process only. It's not working for me:

Code: Select all

[Rainmeter]
Author=

[mTopCPU1]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
: Indicates if this init entry should re-look at the process list
:		1 = Yes, 0 = No
:		If you do more than one config entry, only one needs to do the ReQuery
ReQuery=1
: Pipe-delimited processess to exclude from the list (can handle wildcards, use the % or * character)
IgnoredProcesses=Idle|%Total|rundll32|wscript|userinit|svchost%
: Metric for which to determine top processes (CPU or Memory)
MetricType=CPU
: The top processes to find can be a single number (e.g. 0 = top one process) or a range (0-4 = top five processes)
ProcNums=0
: Format in which to return the results... any string including the following keys: %pName %pID %CPU %Memory
Format="%CPU%: %pName"
: A multiple of update timespans to actually perform the update (see http://rainmeter.net/cms/Tips-UsingUpdateDividerRate).
:		Only pertinent when ReQuery = 1
UpdateDivider=5

[TopCPU1]
Meter=STRING
MeterStyle=Style
StringStyle=Bold
StringEffect=Shadow
StringAlign=Left
MeasureName=mTopCPU1
X=10
Y=40
H=100
W=200
Text="%1%"
FontColor=204, 204, 204, 217
FontName=Segoe UI
FontSize=8
Running the above, I should expect just the top process. I actually get the top 6. I don't know what's causing this...

Also, as I understand it you should be able to set ProcNums to 2, for example, to see the third top process only (numbering 0 for top on down). Is this not the case?
Cheers!

Chuck
ch_rob
Posts: 22
Joined: March 24th, 2011, 2:45 pm

Re: Rainmeter Top Processes

Post by ch_rob »

cwfrizzell wrote:Having trouble with this. Setting ProcNums to 0 should give the top process only. It's not working for me...
...
Also, as I understand it you should be able to set ProcNums to 2, for example, to see the third top process only (numbering 0 for top on down). Is this not the case?
This was a bug, it is now fixed. I wasn't handling a single integer ProcNums properly as opposed to a range of integers which was working. Please grab the latest from http://customize.org/rainmeter/skins/82306 and give it a whirl. With the new version, the following should work correctly and yield the expected results:

Code: Select all

ProcNums=0
If you don't want to grab the latest, you can get your current version to work with the following workaround:

Code: Select all

ProcNums=0-0
-Chad
User avatar
cwfrizzell
Posts: 76
Joined: August 10th, 2009, 9:03 pm

Re: Rainmeter Top Processes

Post by cwfrizzell »

Thanks for the response. I tried the update. It works... kinda. I set it up to show the top 2 processes as follows:

Code: Select all

[Rainmeter]
Author=

[mTopCPU1]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
: Indicates if this init entry should re-look at the process list
:		1 = Yes, 0 = No
:		If you do more than one config entry, only one needs to do the ReQuery
ReQuery=1
: Pipe-delimited processess to exclude from the list (can handle wildcards, use the % or * character)
IgnoredProcesses=Idle|%Total|rundll32|wscript|userinit|svchost%
: Metric for which to determine top processes (CPU or Memory)
MetricType=CPU
: The top processes to find can be a single number (e.g. 0 = top one process) or a range (0-4 = top five processes)
ProcNums=0
: Format in which to return the results... any string including the following keys: %pName %pID %CPU %Memory
Format="%CPU%: %pName"
: A multiple of update timespans to actually perform the update (see http://rainmeter.net/cms/Tips-UsingUpdateDividerRate).
:		Only pertinent when ReQuery = 1
UpdateDivider=5

[mTopCPU2]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
: Indicates if this init entry should re-look at the process list
:		1 = Yes, 0 = No
:		If you do more than one config entry, only one needs to do the ReQuery
ReQuery=0
: Pipe-delimited processess to exclude from the list (can handle wildcards, use the % or * character)
IgnoredProcesses=Idle|%Total|rundll32|wscript|userinit|svchost%
: Metric for which to determine top processes (CPU or Memory)
MetricType=CPU
: The top processes to find can be a single number (e.g. 0 = top one process) or a range (0-4 = top five processes)
ProcNums=1
: Format in which to return the results... any string including the following keys: %pName %pID %CPU %Memory
Format="%CPU%: %pName"
: A multiple of update timespans to actually perform the update (see http://rainmeter.net/cms/Tips-UsingUpdateDividerRate).
:		Only pertinent when ReQuery = 1
;UpdateDivider=5

[TopCPU1]
Meter=STRING
MeterStyle=Style
StringStyle=Bold
StringEffect=Shadow
StringAlign=Left
MeasureName=mTopCPU1
X=10
Y=40
H=100
W=200
Text="%1"
FontColor=204, 204, 204, 217
FontName=Segoe UI
FontSize=8

[TopCPU2]
Meter=STRING
MeterStyle=Style
StringStyle=Bold
StringEffect=Shadow
StringAlign=Left
MeasureName=mTopCPU2
X=10
Y=60
H=100
W=200
Text="%1"
FontColor=255, 0, 0, 217
FontName=Segoe UI
FontSize=8
I did this due to the current lack of control over spacing between lines. At any rate, it works, but tends to show the same process for both the TopCPU1 and TopCPU2 meters. In addition, there seems to be a slight lag between the updates (could be the reason for seeing the same process in both meters).

I also have a second ini showing the top 3 processes, using your sample ini. Running this and the above ini together causes a conflict between the two. Specifically, I will sometimes see only the top process on your sample ini, while I'll see the top 3 processes in the above code (in the TopCPU1 meter only).

It's headed in the right direction, though.

Thanks for all the hard work!
Cheers!

Chuck
User avatar
tru
Posts: 179
Joined: January 12th, 2010, 4:24 am
Location: A Salty Piece of Land...

Re: Rainmeter Top Processes

Post by tru »

jsmorley wrote:Works ok on 64bit Win7. Like to have the ability to "mask" excluded processes, so the ones you are internally numbering can be excluded. Something like svchost* would be nice. Other than that, it seems to work pretty well. One could always pull the result into Lua and do additional formatting if desired.

Nice work.

Code: Select all

[Rainmeter]
Update=1000
DynamicWindowSize=1

[Style]
FontFace=Trebuchet MS
FontColor=255,255,255,255
FontSize=12
StringStyle=Bold
SolidColor=0,0,0,1

[CPUTitleText]
Meter=STRING
MeterStyle=Style
X=0
Y=0R
Text="Top Processes By CPU%"

[MeasureTopCPU]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
; Indicates if this init entry should re-look at the process list
;		1 = Yes, 0 = No
;		If you do more than one config entry, only one needs to do the ReQuery
ReQuery=1
; Pipe-delimited processess to exclude from the list
IgnoredProcesses=Idle|_Total|rundll32|wscript|userinit
; Metric for which to determine top processes (CPU or Memory)
MetricType=CPU
; The top processes to find can be a single number (e.g. 0 = top one process) or a range (0-4 = top five processes)
ProcNums=0-4
; Format in which to return the results... any string including the following keys: %pName %pID %CPU %Memory
Format="%CPU%: %pName"

[TopCPUText]
Meter=String
MeterStyle=Style
MeasureName=MeasureTopCPU
X=10
Y=5R

[MemoryTitleText]
Meter=STRING
MeterStyle=Style
X=0
Y=10R
Text="Top Processes By Memory"

[MeasureTopMem]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=0
IgnoredProcesses=Idle|_Total|rundll32|wscript|userinit
MetricType=Memory
ProcNums=0-4
Format="%Memory: %pName"

[TopMemText]
Meter=String
MeterStyle=Style
MeasureName=MeasureTopMem
X=10
Y=5R
3-27-2011 10-20-27 PM.jpg
I know this is a long dead thread but I gotta know how you were able to get this working ?
I got the sample working fine but I cannot get the memory to work :(

Please Help !!! :D

edit: well I can have a skin with memory open or one with processes but not both :(
BUT I can have cpu, name, memory all on the same line and it works :confused:
Nooby4Ever
Posts: 30
Joined: December 22nd, 2009, 2:49 pm

Re: Rainmeter Top Processes

Post by Nooby4Ever »

I don't get the plugin working properly either, i only want to use the mem top procces 0 so no range (like advancedcpu.dll can do for the cpu) but i can't work it out.

Why has rainmeter (native) only made it possible to get the top cpu procces but not the top ram procces ? (or is there a way which i'm not aware of).

(windows 7 64bit, rainmeter beta 934)
ch_rob
Posts: 22
Joined: March 24th, 2011, 2:45 pm

Re: Rainmeter Top Processes

Post by ch_rob »

tru wrote: I know this is a long dead thread but I gotta know how you were able to get this working ?
I got the sample working fine but I cannot get the memory to work :(

Please Help !!! :D

edit: well I can have a skin with memory open or one with processes but not both :(
BUT I can have cpu, name, memory all on the same line and it works :confused:
Hey tru... I tried the .ini in your post and it "works for me" I'm now on a Win7 64 bit machine. Is this really the .ini that you are using? If not, please post it.
You do not have the required permissions to view the files attached to this post.
ch_rob
Posts: 22
Joined: March 24th, 2011, 2:45 pm

Re: Rainmeter Top Processes

Post by ch_rob »

Nooby4Ever wrote:I don't get the plugin working properly either, i only want to use the mem top procces 0 so no range (like advancedcpu.dll can do for the cpu) but i can't work it out.

Why has rainmeter (native) only made it possible to get the top cpu procces but not the top ram procces ? (or is there a way which i'm not aware of).

(windows 7 64bit, rainmeter beta 934)
Please post the .ini that you are trying to use.
Nooby4Ever
Posts: 30
Joined: December 22nd, 2009, 2:49 pm

Re: Rainmeter Top Processes

Post by Nooby4Ever »

I've got it working now i use this:

Code: Select all

[measureTopMemReQuery]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=1
MetricType=Memory
ProcNums=0-1
Format="%Memory: %pName"
Group=Measures

[measureTopMemName]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=0
MetricType=Memory
ProcNums=1
Format="%pName"
substitute=#subst#
Group=Measures

[measureTopMemMB]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=0
MetricType=Memory
ProcNums=1
Format="%Memory"
substitute=#subst#
Group=Measures

[TopMemReQueryText]
Meter=String
MeterStyle=Style
MeasureName=measureTopMemReQuery
Hidden=1

[meterMemName]
Meter=STRING
MeasureName=measureTopMemName
MeterStyle=styleText
StringAlign=LEFT
X=30
Y=57
Percentual=1
Text=%1.exe
Group=Meters

[meterMemMB]
Meter=STRING
MeasureName=measureTopMemMB
MeterStyle=styleText
StringAlign=RIGHT
X=220
Y=57
Percentual=1
NumOfDecimals=2
Text=%1
Group=Meters
This is pretty much the only way how i got it to work.