It is currently September 29th, 2024, 1:24 pm

Finding a skin that displays top processes by memory?

General topics related to Rainmeter.
Kalia
Posts: 3
Joined: August 5th, 2014, 10:21 pm

Finding a skin that displays top processes by memory?

Post by Kalia »

I love the Enigma skin that shows top processes by CPU use, (looks like this: http://imgur.com/xqMAIuT) and I was wondering if there was another skin that showed top processes by RAM/memory use? I've been searching for one all morning, and they either look completely different to Enigma, (I just want something white and simple,) or don't work.

Any ideas?

EDIT: I've seen a few people now asking for a skin like this and I finally created my own solution, from Mordasius' comment at: http://rainmeter.net/forum/viewtopic.php?f=5&t=14245

While there are no bars like in the Enigma processes skin, I edited the code so that it has the same font, colour, size, etc.

Code: Select all

[Rainmeter]
DynamicWindowSize=1

[Style]
FontFace=Trebuchet MS
FontSize=7.5
FontColor=255,255,255,255
StringStyle=Normal
SolidColor=0,0,0,1
AntiAlias=1


[MeasureTopMem]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=1

;-> : If you use GlobalIgnoredProcesses to filter, processes will be excluded from all measures using the TopProcesses plugin
GlobalIgnoredProcesses=_Total|dwm

;-> : Metric for which to determine top processes (CPU or Memory)
MetricType=Memory

;-> : 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-9

;-> : Format in which to return the results... any string including the following keys: %pName %pID %CPU %Memory
;-> : You can also get a substring of a key; e.g. to trim the name to 8 chars use this format: s(%pName,0,7)
Format="s(%pName,0,10) %Memory"

;-> Using UpdateDivider=5 reduces CPU usage considerably
UpdateDivider=5

[MemoryTitleText]
Meter=STRING
MeterStyle=Style
Text=" "

[TopMemText]
Meter=String
MeterStyle=Style
MeasureName=MeasureTopMem
X=10
Y=22
If anyone knows how to make a line break/space between each process that would be nice, as at the moment it looks extremely bunched up - but otherwise it works pretty well.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5534
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Finding a skin that displays top processes by memory?

Post by eclectic-tech »

I was about to post modified Enigma code, but you already created something similar... :thumbup:

To space the display, the only solution I have found is to modify the Format= by adding #CRLF# to the end; Format="%pName: %Memory#CRLF#"

Of course you will probably want fewer items, so change ProcNums=0-4 to only show the top 5 memory items.

Here's my modified Enigma code if you are interested; it uses the Enigma styles:

Code: Select all

;---------------------------------------------------------------------
; ENIGMA PROCESS

[Rainmeter]
Author=Kaelri

[Variables]
@include=#@#User\Options.inc

;---------------------------------------------------------------------
; STYLES

@include2=#@#Styles\#Stylesheet#\Options.inc
@include3=#@#Styles\#Stylesheet#\SidebarCommon.inc
@include4=#@#Styles\#Stylesheet#\SidebarProcess.inc

;---------------------------------------------------------------------
; MEASURES

[MeasureTopMem]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=1
GlobalIgnoredProcesses=Idle|%Total|rundll32|wscript|userinit
SpecificIgnoredProcesses=firefox*|svchost*
MetricType=Memory
ProcNums=0-4
Format="%pName: %Memory#CRLF#"
UpdateDivider=5

;---------------------------------------------------------------------
; METERS

[Background]
Meter=IMAGE
MeterStyle=StyleSidebarBackground | StyleProcessBackground

[Border]
Meter=IMAGE
MeterStyle=StyleProcessBorder

[Icon]
Meter=IMAGE
MeterStyle=StyleProcessIcon
LeftMouseUpAction=["taskmgr.exe"]

[Title]
Meter=STRING
MeterStyle=StyleProcessTitle
Text=Processes by Memory
LeftMouseUpAction=["taskmgr.exe"]

;-----------------------
; ITEMS

[TopMemText]
Meter=String
MeterStyle=StyleProcessText
StringAlign=LEFT
MeasureName=MeasureTopMem
X=15
Y=22r
W=(#SidebarWidth#-24)
ClipString=0
;---------------------------------------------------------------------
; METADATA

[Metadata]
Name=Enigma Process by Memory
Information=Shows your top Windows processes by Memory usage.
Version=4 Patch 1
License=Creative Commons BY-NC-SA 3.0
Image
Kalia
Posts: 3
Joined: August 5th, 2014, 10:21 pm

Re: Finding a skin that displays top processes by memory?

Post by Kalia »

eclectic-tech it looks amazing and I would totally hug you right now if I could.

Thankyou so much!!
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5534
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Finding a skin that displays top processes by memory?

Post by eclectic-tech »

No problem... :oops:

I came across another tip to right-align parts of the info by adding another measure (duplicate with a different Format=) and a meter to right-align...

Image

Code:

Code: Select all

;---------------------------------------------------------------------
; ENIGMA PROCESS

[Rainmeter]
Author=Kaelri

[Variables]
@include=#@#User\Options.inc

;---------------------------------------------------------------------
; STYLES

@include2=#@#Styles\#Stylesheet#\Options.inc
@include3=#@#Styles\#Stylesheet#\SidebarCommon.inc
@include4=#@#Styles\#Stylesheet#\SidebarProcess.inc

;---------------------------------------------------------------------
; MEASURES

[MeasureTopMemName]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=1
GlobalIgnoredProcesses=Idle|%Total|rundll32|wscript|userinit
SpecificIgnoredProcesses=firefox*|svchost*
MetricType=Memory
ProcNums=0-4
Format="%pName:#CRLF#"
UpdateDivider=5

[MeasureTopMem]
Measure=Plugin
Plugin=Plugins\TopProcesses.dll
ReQuery=0
GlobalIgnoredProcesses=Idle|%Total|rundll32|wscript|userinit
SpecificIgnoredProcesses=firefox*|svchost*
MetricType=Memory
ProcNums=0-4
Format="%Memory#CRLF#"
UpdateDivider=5
;---------------------------------------------------------------------
; METERS

[Background]
Meter=IMAGE
MeterStyle=StyleSidebarBackground | StyleProcessBackground

[Border]
Meter=IMAGE
MeterStyle=StyleProcessBorder

[Icon]
Meter=IMAGE
MeterStyle=StyleProcessIcon
LeftMouseUpAction=["taskmgr.exe"]

[Title]
Meter=STRING
MeterStyle=StyleProcessTitle
Text=Processes by Memory
LeftMouseUpAction=["taskmgr.exe"]

;-----------------------
; ITEMS

[TopMemTextName]
Meter=String
MeterStyle=StyleProcessText
StringAlign=LEFT
MeasureName=MeasureTopMemName
X=15
Y=22r
W=(#SidebarWidth#-24)
ClipString=0

[TopMemText]
Meter=String
MeterStyle=StyleProcessText
StringAlign=RIGHT
MeasureName=MeasureTopMem
X=(#SidebarWidth#-24)
Y=r
W=(#SidebarWidth#-24)
ClipString=0

;---------------------------------------------------------------------
; METADATA

[Metadata]
Name=Enigma Process by Memory
Information=Shows your top Windows processes by Memory usage.
Version=4 Patch 1
License=Creative Commons BY-NC-SA 3.0
Kalia
Posts: 3
Joined: August 5th, 2014, 10:21 pm

Re: Finding a skin that displays top processes by memory?

Post by Kalia »

Nice! One amendment I did make was change the line:

Format="%pName:#CRLF#"
to
Format="s(%pName,0,17):#CRLF#"

As I found that otherwise really long process names would display over the top of the numbers. :)
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5534
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Finding a skin that displays top processes by memory?

Post by eclectic-tech »

Kalia wrote:Nice! One amendment I did make was change the line:

Format="%pName:#CRLF#"
to
Format="s(%pName,0,17):#CRLF#"

As I found that otherwise really long process names would display over the top of the numbers. :)
Forgot about clipping :o Good find!

Using right-aligned %Memory values, gives more room, so I set mine to clip the name at the 20th character; Format="s(%pName,0,20):#CRLF#" ... [edit]of course this depends on the Font4 variable setting in Enigma, so '17' might be better! :great: