It is currently December 11th, 2018, 2:34 pm

FREESPACE

Post your work-in-progress and completed skins to share and discuss.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3050
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

FREESPACE

eclectic-tech » November 15th, 2018, 4:12 pm

freespace2.png
:: FREESPACE ::
A simple skin that shows the combined free space from all available drives on your system.
Initial refreshes set for every 10 minutes. Manually refresh using middle-mouse button.
The info for individual drives is available in the child measures for use if you want to create separate meters for each drive.
Haven't tested with network drives, but should work AFAIK.
Freespace_Full.ini (All code in one place; edit and use as you like)

Code: Select all

; ----------------------------------

[Rainmeter]
; This section contains general settings that can be used to change how Rainmeter behaves.
Update=1000
AccurateText=1
DynamicWindowSize=1
Group=#RootConfig#

SkinWidth=(198*#Scale#)
SkinHeight=((42*#Scale#)+(#ItemLines#*22)*#Scale#)

MiddleMouseUpAction=[!Refresh]

OnRefreshAction=[!CommandMeasure MeasureRunCommand Run]

; ----------------------------------

[Metadata]
; Contains basic information of the skin.
Author=Eclectic Tech Website: http://eclectic-tech.deviantart.com/
Name=System-Wide Disk Freespace
Information=Displays the combined freespace available from all drives.
License=Creative Commons BY-NC-SA 4.0
Version=1.2018.11.15

; ----------------------------------

[Variables]
; Sets the skin height based on the number of items 
ItemLines=1
fillColor=30,30,30,100
headerColor=0,0,0,100
; Controls the size of the skin (1.0~3.0 recommended)
Scale=1.5

get=(?(?=.*[a-z]:).*([a-z]:))

; ----------------------------------
; MEASURES return some kind of value

; Timer to refresh the drive list every 10 minutes
[MTimer]
Measure=Loop
StartValue=0
EndValue=600
Increment=1
InvertMeasure=0
IfCondition=(mTimer=600)
IfTrueAction=[!CommandMeasure MeasureRunCommand Run]

; Creates the drivelist.txt file with the caption (drive letter) of every available drive
[MeasureRunCommand]
Measure=Plugin
Plugin=RunCommand
Parameter=wmic logicaldisk get caption
State=Hide
OutputType=ANSI
OutputFile=#CurrentPath#drivelist.txt
StartInFolder=#CurrentPath#
TimeOut=-1
; Documentation: https://docs.rainmeter.net/manual-beta/plugins/runcommand/
; FinishAction happens after succesfully creating the drivelist.txt file
FinishAction=[!EnableMeasure MeasureDrives][!UpdateMeasure MeasureDrives]

; Captures the drive letters for use in other measures (up to 26)
[MeasureDrives]
Measure=Webparser
URL=file://#CurrentPath#drivelist.txt
RegExp=(?siU).*([a-z]:)#get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get##get#
Disabled=1
ForceReload=1
FinishAction=[!EnableMeasureGroup Children][!UpdateMeasureGroup Children]
LogSubstringErrors=0

[MeasureDrive1]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=1
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk1][!EnableMeasure measureFreeDisk1]

[MeasureDrive2]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=2
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk2][!EnableMeasure measureFreeDisk2]

[MeasureDrive3]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=3
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk3][!EnableMeasure measureFreeDisk3]

[MeasureDrive4]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=4
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk4][!EnableMeasure measureFreeDisk4]

[MeasureDrive5]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=5
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk5][!EnableMeasure measureFreeDisk5]

[MeasureDrive6]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=6
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk6][!EnableMeasure measureFreeDisk6]

[MeasureDrive7]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=7
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk7][!EnableMeasure measureFreeDisk7]

[MeasureDrive8]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=8
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk8][!EnableMeasure measureFreeDisk8]

[MeasureDrive9]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=9
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk9][!EnableMeasure measureFreeDisk9]

[MeasureDrive10]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=10
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk10][!EnableMeasure measureFreeDisk10]

[MeasureDrive11]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=11
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk11][!EnableMeasure measureFreeDisk11]

[MeasureDrive12]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=12
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk12][!EnableMeasure measureFreeDisk12]

[MeasureDrive13]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=13
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk13][!EnableMeasure measureFreeDisk13]

[MeasureDrive14]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=14
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk14][!EnableMeasure measureFreeDisk14]

[MeasureDrive15]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=15
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk15][!EnableMeasure measureFreeDisk15]

[MeasureDrive16]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=16
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk16][!EnableMeasure measureFreeDisk16]

[MeasureDrive17]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=17
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk17][!EnableMeasure measureFreeDisk17]

[MeasureDrive18]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=18
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk18][!EnableMeasure measureFreeDisk18]

[MeasureDrive19]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=19
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk19][!EnableMeasure measureFreeDisk19]

[MeasureDrive20]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=20
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk20][!EnableMeasure measureFreeDisk20]

[MeasureDrive21]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=21
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk21][!EnableMeasure measureFreeDisk21]

[MeasureDrive22]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=22
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk22][!EnableMeasure measureFreeDisk22]

[MeasureDrive23]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=23
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk23][!EnableMeasure measureFreeDisk23]

[MeasureDrive24]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=24
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk24][!EnableMeasure measureFreeDisk24]

[MeasureDrive25]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=25
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk25][!EnableMeasure measureFreeDisk25]

[MeasureDrive26]
Group=Children
Disabled=1
Measure=WebParser
Url=[MeasureDrives]
StringIndex=26
IfMatch=^$
IfNotMatchAction=[!EnableMeasure measureTotalDisk26][!EnableMeasure measureFreeDisk26]

[measureTotalDisk1]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive1]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk1]
; Returns value of free disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive1]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk2]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive2]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk2]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive2]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk3]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive3]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk3]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive3]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk4]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive4]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk4]
; Returns value of free disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive4]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk5]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive5]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk5]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive5]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk6]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive6]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk6]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive6]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk7]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive7]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk7]
; Returns value of free disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive7]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk8]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive8]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk8]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive8]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk9]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive9]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk9]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive9]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk10]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive10]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk10]
; Returns value of free disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive10]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk11]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive11]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk11]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive11]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk12]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive12]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk12]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive12]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk13]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive13]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk13]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive13]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk14]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive14]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk14]
; Returns value of free disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive14]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk15]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive15]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk15]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive15]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk16]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive16]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk16]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive16]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk17]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive17]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk17]
; Returns value of free disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive17]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk18]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive18]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk18]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive18]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk19]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive19]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk19]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive19]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk20]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive20]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk20]
; Returns value of free disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive20]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk21]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive21]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk21]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive21]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk22]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive22]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk22]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive22]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk23]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive23]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk23]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive23]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk24]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive24]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk24]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive24]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk25]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive25]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk25]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive25]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[measureTotalDisk26]
; This measure returns the total disk space
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive26]
Total=1
DynamicVariables=1
UpdateDivider=120

[measureFreeDisk26]
; Returns inverted value of free disk space (i.e. used disk space)
Group=Drives
Disabled=1
Measure=FreeDiskSpace
IgnoreRemovable=0
Drive=[MeasureDrive26]
InvertMeasure=0
DynamicVariables=1
UpdateDivider=120

[MeasureTotal]
Group=Totals
Measure=Calc
Formula=measureTotalDisk26+measureTotalDisk25+measureTotalDisk24+measureTotalDisk23+measureTotalDisk22+measureTotalDisk21+measureTotalDisk20+measureTotalDisk19+measureTotalDisk18+measureTotalDisk17+measureTotalDisk16+measureTotalDisk15+measureTotalDisk14+measureTotalDisk13+measureTotalDisk12+measureTotalDisk11+measureTotalDisk10+measureTotalDisk9+measureTotalDisk8+measureTotalDisk7+measureTotalDisk6+measureTotalDisk5+measureTotalDisk4+measureTotalDisk3+measureTotalDisk2+measureTotalDisk1
DynamicVariables=1

[MeasureFree]
Group=Totals
Measure=Calc
Formula=measureFreeDisk26+measureFreeDisk25+measureFreeDisk24+measureFreeDisk23+measureFreeDisk22+measureFreeDisk21+measureFreeDisk20+measureFreeDisk19+measureFreeDisk18+measureFreeDisk17+measureFreeDisk16+measureFreeDisk15+measureFreeDisk14+measureFreeDisk13+measureFreeDisk12+measureFreeDisk11+measureFreeDisk10+measureFreeDisk9+measureFreeDisk8+measureFreeDisk7+measureFreeDisk6+measureFreeDisk5+measureFreeDisk4+measureFreeDisk3+measureFreeDisk2+measureFreeDisk1
MinValue=0
MaxValue=[MeasureTotal:]
DynamicVariables=1

; ----------------------------------
; STYLES are used to "centralize" options

[styleTitle]
StringAlign=CENTER
InlineSetting=Face | MSTrebuchet
InlineSetting2=Size | 10
InlineSetting3=Weight | 900
InlineSetting4=Color | 255,255,255
InlineSetting5=Case | UPPER
StringEffect=SHADOW
FontEffectColor=0,0,0,50
AntiAlias=1
ClipString=2
ClipStringW=180
DynamicVariables=1
; Scale Center 
TransformationMatrix=#Scale#;0;0;#Scale#;((1-#Scale#)*([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2));((1-#Scale#)*([#CURRENTSECTION#:Y]))
ToolTipWidth=(150*#Scale#)

[styleLeftText]
StringAlign=LEFT
; Meters using styleLeftText will be left-aligned.
InlineSetting=Face | MSTrebuchet
InlineSetting2=Size | 8
InlineSetting3=Weight | 500
InlineSetting4=Color | 255,255,255
StringEffect=SHADOW
FontEffectColor=0,0,0,20
AntiAlias=1
ClipString=1
DynamicVariables=1
; Scale Left 
TransformationMatrix=#Scale#;0;0;#Scale#;((1-#Scale#)*([#CURRENTSECTION#:X]));((1-#Scale#)*([#CURRENTSECTION#:Y]))
ToolTipWidth=(150*#Scale#)

[styleRightText]
StringAlign=Right
; Meters using styleRightText will be right-aligned.
InlineSetting=Face | MSTrebuchet
InlineSetting2=Size | 8
InlineSetting3=Weight | 500
InlineSetting4=Color | 255,255,255
StringEffect=SHADOW
FontEffectColor=0,0,0,20
AntiAlias=1
ClipString=1
DynamicVariables=1
; Scale Right
TransformationMatrix=#Scale#;0;0;#Scale#;((1-#Scale#)*([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]));((1-#Scale#)*([#CURRENTSECTION#:Y]-[#CURRENTSECTION#:H]/32))
ToolTipWidth=(150*#Scale#)

[styleSeperator]
SolidColor=235,170,0,255
DynamicVariables=1
X=(9*#Scale#)
Y=-1R
W=(181*#Scale#)
H=(1*#Scale#)

[styleBar]
BarColor=235,170,0,255
BarOrientation=HORIZONTAL
SolidColor=0,0,0
DynamicVariables=1
X=(9*#Scale#)
Y=-1R
W=(181*#Scale#)
H=(1*#Scale#)

; ----------------------------------
; METERS display images, text, bars, etc.

[MeterBackground]
Meter=Shape
DynamicVariables=1
X=5
Y=5
Shape=Rectangle 0,0,190,(36+(#ItemLines#*22)),2 | Fill Color #fillColor# | StrokeWidth (1*#Scale#) | Stroke Color #headerColor# | Scale #Scale#,#Scale#,0,0

[MeterBackgroundTop]
Meter=Shape
DynamicVariables=1
X=(5*#Scale#)
Y=(5*#Scale#)
Shape=Rectangle 3,3,184,25,2 | Fill Color #headerColor# | StrokeWidth 0 | Stroke Color #headerColor# | Scale #Scale#,#Scale#,0,0

[meterTitle]
Meter=String
MeterStyle=styleTitle
; Using MeterStyle=styleTitle will basically "copy" the
; contents of the [styleTitle] section here during runtime.
X=((198*#Scale#)/2)
Y=(12*#Scale#)
W=190
H=(18*#Scale#)
Text=Free Space
; Even though the text is set to Disk, Rainmeter will display
; it as DISK, because styleTitle contains StringCase=Upper.
SolidColor=0,0,0,1
; Opens 'This PC'
LeftMouseUpAction=["Explorer" /select,This PC]
TooltipText="Left-click to open This PC"

[meterLabelDisk1]
Meter=String
MeterStyle=styleLeftText
MeasureName=MeasureTotal
X=(9*#Scale#)
Y=(38*#Scale#)
W=80
H=14
NumOfDecimals=1
AutoScale=1
Text="Total: %1"

[meterValueDisk1]
Meter=String
MeterStyle=styleRightText
MeasureName=MeasureFree
X=(189*#Scale#)
Y=([meterLabelDisk1:Y])
W=80
H=14
; %1 stands for the value of MeasureName (measureUsedDisk1 in this case).
NumOfDecimals=1
AutoScale=1
; Because disk measures return the free/used space in bytes, we must use AutoScale=1 to
; automatically scale the value into a more readable figure.
Text="Free: %1"

[meterBarDisk1]
Meter=Bar
DynamicVariables=1
MeterStyle=styleBar
MeasureName=measureFree
Y=([meterValueDisk1:Y]+[meterValueDisk1:H]*#Scale#-1)

Edit: Set 'LogSubstringErrors=0' in webparser measure [MeasureDrives]
You do not have the required permissions to view the files attached to this post.
User avatar
Active Colors
Moderator
Posts: 498
Joined: February 16th, 2012, 3:32 am

Re: FREESPACE

Active Colors » November 16th, 2018, 9:18 am

I so got used to seeing bars showing how full drives are that is so weird to see a bar indicating free space. Very smart skin, ET!
User avatar
eclectic-tech
Rainmeter Sage
Posts: 3050
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: FREESPACE

eclectic-tech » November 16th, 2018, 11:57 am

Thanks AC. Everyone looks at things in different ways so why not offer both!
"Is the glass half empty, or is it half full?" :Whistle