Skip to content

Instantly share code, notes, and snippets.

@diogotito
Last active March 12, 2025 02:40
Show Gist options
  • Select an option

  • Save diogotito/a7f1b4d0735384a7c2e4318c0a6dfb90 to your computer and use it in GitHub Desktop.

Select an option

Save diogotito/a7f1b4d0735384a7c2e4318c0a6dfb90 to your computer and use it in GitHub Desktop.
Rainmeter skin that shows drive usage
; Lines starting ; (semicolons) are commented out.
; That is, they do not affect the code and are here for demonstration purposes only.
; ----------------------------------
; HOWTO: Adding more disks
; ----------------------------------
; Adding more disks is a pretty straightforward process. Follow the following steps to turn
; this 2 disks skin into a 3 disks skin. You can then extend it even further as you wish.
;
; 1) Create a new variable called disk3=X: directly below disk2=D: in the [Variables] section
; 2) Create a copy of the [measureTotalDisk2] and [measureUsedDisk2] sections
; 3) Rename the copied sections to [measureTotalDisk3] and [measureUsedDisk3], respectively.
; Also change Drive=#disk2# to Drive=#disk3#
; 4) Create a copy of the [meterLabelDisk2], [meterValueDisk2], and [meterBarDisk2].
; Rename all Disk2's in the copied sections to Disk3.
; 5) Now we need to change the Y= values to adjust height. Change Y= under [meterLabelDisk3]
; to Y=80 (calculated by adding 20 to the Y= value of previous meterLabel).
; Then change Y= under [meterBarDisk3] to Y=92 (calculated by adding 20 to the Y= value of previous meterBar).
; 6) Save the file as '3 Disks.ini'. Now right-click on the Rainmeter tray icon and select
; 'Refresh All'. Now go activate the '3 Disks.ini' skin and enjoy! :)
[Rainmeter]
; This section contains general settings that can be used to change how Rainmeter behaves.
Update=1000
;Background=#@#MyBackground.png
; #@# is equal to Rainmeter\Skins\illustro\@Resources
BackgroundMode=3
BackgroundMargins=0,34,0,14
LeftMouseUpAction=["explorer"]
[Metadata]
; Contains basic information of the skin.
Name=Disk
Author=poiru
Information=Displays disk usage.
License=Creative Commons BY-NC-SA 3.0
Version=1.0.0
[Variables]
; Variables declared here can be used later on between two # characters (e.g. #MyVariable#).
fontName=Trebuchet MS
textSize=10
colorBar=235,170,0,255
colorText=255,255,255,222
colorTextSub=255,255,255,127
disk1=C:
disk2=D:
disk3=T:
; ----------------------------------
; MEASURES return some kind of value
; ----------------------------------
[measureTotalDisk1]
; This measure returns the total disk space
Measure=FreeDiskSpace
Drive=#disk1#
Total=1
UpdateDivider=120
[measureUsedDisk1]
; Returns inverted value of free disk space (i.e. used disk space)
Measure=FreeDiskSpace
Drive=#disk1#
InvertMeasure=1
UpdateDivider=120
[measureFreeDisk1]
Measure=FreeDiskSpace
Drive=#disk1#
InvertMeasure=0
UpdateDivider=120
[measureTotalDisk2]
Measure=FreeDiskSpace
Drive=#disk2#
Total=1
UpdateDivider=120
[measureUsedDisk2]
Measure=FreeDiskSpace
Drive=#disk2#
InvertMeasure=1
UpdateDivider=120
[measureFreeDisk2]
Measure=FreeDiskSpace
Drive=#disk2#
InvertMeasure=0
UpdateDivider=120
[measureTotalDisk3]
Measure=FreeDiskSpace
Drive=#disk3#
Total=1
UpdateDivider=1200
[measureUsedDisk3]
Measure=FreeDiskSpace
Drive=#disk3#
InvertMeasure=1
UpdateDivider=1200
[measureFreeDisk3]
Measure=FreeDiskSpace
Drive=#disk3#
InvertMeasure=0
UpdateDivider=1200
; ----------------------------------
; STYLES are used to "centralize" options
; ----------------------------------
[styleTitle]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,150
FontColor=#colorText#
FontFace=#fontName#
FontSize=10
AntiAlias=1
ClipString=1
[styleLeftText]
StringAlign=Left
; Meters using styleLeftText will be left-aligned.
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,150
FontColor=#colorText#
FontFace=#fontName#
FontSize=16
AntiAlias=1
ClipString=1
X=8
Y=-45r
W=190
;H=10r
[styleLeftTextSub]
StringAlign=Left
FontColor=#colorTextSub#
FontFace=Segoe UI
FontSize=9
FontEffectColor=0,0,0,60
AntiAlias=1
NumOfDecimals=2
AutoScale=1
X=45
Y=-2r
Text=(%1B total)
[styleRightText]
StringAlign=Right
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,150
FontColor=#colorText#
FontFace=Segoe UI
FontSize=9
AntiAlias=1
ClipString=1
InlineSetting=Weight | 300
InlinePattern=free
; I'm refactoring! :D
X=200
Y=20r
; r stands for relative. In this case, the Y postition of meterValueCPU is 0 pixels
; below the Y value of the previous meter (i.e it's the same as in meterLabelCPU).
W=190
H=14
Text=%2B free
; %1 stands for the value of MeasureName (measureUsedDisk1 in this case).
; %2 stands for the value of MeasureName2.
NumOfDecimals=2
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.
[styleBar]
BarColor=#colorBar#
BarOrientation=HORIZONTAL
SolidColor=255,255,255,70
X=12
Y=65r
W=186
H=16
; ==================================
; METERS display images, text, bars, etc.
; ==================================
; [meterTitle]
; Meter=String
; MeterStyle=styleTitle
; ; Using MeterStyle=styleTitle will basically "copy" the
; ; contents of the [styleTitle] section here during runtime.
; X=100
; Y=12
; W=190
; H=18
; Text=Disks
; ; Even though the text is set to Disks, Rainmeter will display
; ; it as DISKS, because styleTitle contains StringCase=Upper.
; -----------------
; Meters for Disk 1
; -----------------
[meterBarDisk1]
Meter=Bar
MeterStyle=styleBar
BarColor=38,45,54,251
MeasureName=measureUsedDisk1
Y=20
[meterValueDisk1]
Meter=String
MeterStyle=styleRightText
MeasureName=measureUsedDisk1
MeasureName2=measureFreeDisk1
LeftMouseUpAction=["#disk1#\"]
Y=35
[meterTotalDisk1]
Meter=String
MeterStyle=styleLeftTextSub
MeasureName=measureTotalDisk1
Y=6
[meterLabelDisk1]
Meter=String
MeterStyle=styleLeftText
Text=#disk1#\
Y=0
; -----------------
; Meters for Disk 2
; -----------------
[meterBarDisk2]
Meter=Bar
MeterStyle=styleBar
BarColor=38,45,54,251
MeasureName=measureUsedDisk2
Y=80
[meterValueDisk2]
Meter=String
MeterStyle=styleRightText
MeasureName=measureUsedDisk2
MeasureName2=measureFreeDisk2
Y=95
[meterTotalDisk2]
Meter=String
MeterStyle=styleLeftTextSub
MeasureName=measureTotalDisk2
Y=66
[meterLabelDisk2]
Meter=String
MeterStyle=styleLeftText
Text=#disk2#\
LeftMouseUpAction=["#disk2#\"]
Y=60
; -----------------
; Meters for Disk 3
; -----------------
[meterBarDisk3]
Meter=Bar
MeterStyle=styleBar
BarColor=38,45,54,251
MeasureName=measureUsedDisk3
Y=140
[meterValueDisk3]
Meter=String
MeterStyle=styleRightText
MeasureName=measureUsedDisk3
MeasureName2=measureFreeDisk3
Y=155
[meterTotalDisk3]
Meter=String
MeterStyle=styleLeftTextSub
MeasureName=measureTotalDisk3
Y=126
[meterLabelDisk3]
Meter=String
MeterStyle=styleLeftText
Text=#disk3#\
LeftMouseUpAction=["#disk3#\"]
Y=120
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment