### Path Option Examples Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/skins/option-types.html Provides examples of path options, illustrating relative, absolute, and Rainmeter-specific path variable usage for files and folders. ```ini ; Paths relative to the current skin folder: ImageName=lolcat.png ImageName=..\lolcat.png ; Absolute path: ImageName=C:\\lolcats\\lolcat.png ; Path to the current skin folder: ImageName=#CURRENTPATH#lolcat.png ; Path to the @Resources\Images folder under the root config of the current skin: ImageName=#@#Images\lolcat.png ``` -------------------------------- ### Example Output File Content Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/runcommand.html This is an example of the content that might be written to the OutputFile defined in the RunCommand plugin configuration. ```txt Name AMD Ryzen 7 2700X Eight-Core Processor ``` -------------------------------- ### Basic WebParser Usage Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/webparser-debugging-regexp.html Demonstrates a simple WebParser setup to fetch and extract a single piece of information (IP address) from a webpage. Use this as a starting point for basic web scraping. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [MeasureSite] Measure=WebParser URL=https://www.tell-my-ip.com/index.html RegExp=(?siU)Your IP Address.*(.*) [MeasureIP] Measure=WebParser URL=[MeasureSite] StringIndex=1 [MeterIP] Meter=String MeasureName=MeasureIP FontSize=12 FontColor=255,255,255,255 AntiAlias=1 ``` -------------------------------- ### Get WiFi SSID and List Visible Networks Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/wifistatus.html This example demonstrates how to get the current WiFi SSID and a list of all visible networks. For the list, it displays the SSID, PHY type, and encryption/authentication details. ```ini [MeasureSSID] Measure=WiFiStatus WiFiInfoType=SSID ``` ```ini [MeasureNetworks] Measure=WiFiStatus WiFiInfoType=LIST WiFiListStyle=3 ``` -------------------------------- ### Example: Command Measure Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/bangs.html An example of sending a 'Previous' command to a measure named 'NowPlayingParent'. ```rainmeter !CommandMeasure "NowPlayingParent" "Previous" ``` -------------------------------- ### Full Win7Audio Example Skin Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/win7audio.html This example demonstrates how to use the Win7Audio plugin to display the current sound device name, volume percentage, and provides controls to change devices and volume. ```ini [Rainmeter] BackgroundMode=2 SolidColor=0,0,0,150 Update=1000 ; Returns the name of the current sound device and percent volume level [MeasureWin7Audio] Measure=Plugin Plugin=Win7AudioPlugin ; Display the current sound device name [MeterDeviceName] Meter=String MeasureName=MeasureWin7Audio X=5 Y=0 W=200 H=20 FontFace=Trebuchet MS FontSize=11 FontColor=255,255,255,255 StringAlign=LEFT AntiAlias=1 ClipString=1 ; Toggle to the next installed sound device (wraps back to first) [MeterChangeDevice] Meter=String FontFace=Trebuchet MS FontSize=15 FontColor=255,255,255,255 AntiAlias=1 X=220 Y=-3 Text="+" LeftMouseUpAction=!CommandMeasure "MeasureWin7Audio" "ToggleNext" ; Change the volume down by 10% [MeterVolumeDown] Meter=String FontFace=Trebuchet MS FontSize=15 FontColor=255,255,255,255 AntiAlias=1 X=0 Y=20 Text="<<" LeftMouseUpAction=!CommandMeasure "MeasureWin7Audio" "ChangeVolume -10" [MeasureVolBarBackground] Measure=Calc Formula=1 [MeterVolBarBackground] Meter=Bar MeasureName=MeasureVolBarBackground BarOrientation=Horizontal BarColor=150,150,150,255 W=60 H=6 X=25 Y=29 ; Displays the current volume percentage on a Bar meter [MeterCurrentVolumeBar] Meter=Bar MeasureName=MeasureWin7Audio BarOrientation=Horizontal W=60 H=6 X=25 Y=29 ; Change the volume up by 10% [MeterVolumeUp] Meter=String FontFace=Trebuchet MS FontSize=15 FontColor=255,255,255,255 AntiAlias=1 X=83 Y=20 Text=">>" LeftMouseUpAction=!CommandMeasure "MeasureWin7Audio" "ChangeVolume 10" ; Displays the percentage volume level as text [MeterVolPercent] Meter=String X=55 Y=40 W=110 H=15 FontFace=Trebuchet MS FontSize=10 FontColor=255,255,255,255 StringAlign=Center AntiAlias=1 Text="[MeasureWin7Audio:]%" DynamicVariables=1 ; Toggles "mute" for the current device [MeterVolToggleMute] Meter=String X=5 Y=60 FontFace=Trebuchet MS FontSize=10 FontColor=255,255,255,255 StringAlign=Left AntiAlias=1 Text=MUTE LeftMouseUpAction=!CommandMeasure "MeasureWin7Audio" "ToggleMute" ; Set volume for current device to 50% [MeterVolSet50%] Meter=String X=78 Y=60 FontFace=Trebuchet MS FontSize=10 FontColor=255,255,255,255 StringAlign=Left AntiAlias=1 Text=50% LeftMouseUpAction=!CommandMeasure "MeasureWin7Audio" "SetVolume 50" ``` -------------------------------- ### Example: Toggle Measure Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/bangs.html A practical example demonstrating how to toggle a specific measure on or off. ```rainmeter !ToggleMeasure "CPUMeasure" ``` -------------------------------- ### FolderInfo Plugin Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/folderinfo.html This example demonstrates how to use the FolderInfo plugin to get the total size of a folder and the count of files within it. It shows how to reference a previous measure for the folder path and includes options for hidden and system files. ```ini [Rainmeter] Update=1000 BackgroundMode=2 SolidColor=0,0,0,255 [MeasureFolder] Measure=Plugin Plugin=FolderInfo Folder=#SKINSPATH# InfoType=FolderSize IncludeHiddenFiles=1 IncludeSubFolders=1 IncludeSystemFiles=1 RegExpFilter=.* UpdateDivider=10 [MeasureFileCount] Measure=Plugin Plugin=FolderInfo Folder=[MeasureFolder] InfoType=FileCount UpdateDivider=10 [MeterSize] Meter=String MeasureName=MeasureFolder X=5 Y=5 W=200 H=20 FontColor=255,255,255,255 AutoScale=1 Text="Total Size: %1B" [MeterCount] Meter=String MeasureName=MeasureFileCount X=5 Y=25 W=200 H=20 FontColor=255,255,255,255 Text="File Count: %1" ``` -------------------------------- ### Basic Measure Examples in Rainmeter Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/getting-started/skin-anatomy.html Includes examples of a Time measure to get the current date and time, and a FreeDiskSpace measure to check available space on a specific drive. ```ini [MeasureDateTime] Measure=Time Format=%A, %B %#d, %Y %#I:%M %p [MeasureFreeDriveC] Measure=FreeDiskSpace Drive=C: ``` -------------------------------- ### Ping Plugin Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/ping.html This example shows how to use the Ping plugin in a Rainmeter skin to measure and display the latency to www.google.com. ```ini [Rainmeter] Update=1000 BackgroundMode=2 SolidColor=0,0,0,255 [MeasurePing] Measure=Plugin Plugin=PingPlugin DestAddress=www.google.com [MeterPing] Meter=String MeasureName=MeasurePing X=5 Y=5 W=200 H=20 FontColor=255,255,255,255 Text=google.com: %1ms ``` -------------------------------- ### Button Meter Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/button.html Demonstrates the configuration of a Button meter, including image definition, click command, and mouse over/leave/down actions. This example also includes a String meter to display text feedback. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [Metadata] Name=ExampleMeterButton Author=The Rainmeter Team Information=Example of the Button meter License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Version=1.0 [MeterPacman] Meter=Button ButtonImage=#@#Images\PacButton.png ButtonCommand=["Notepad"] MouseOverAction=[!SetOption MeterText Text "Mouse OVER state"][!UpdateMeter MeterText][!Redraw] MouseLeaveAction=[!SetOption MeterText Text "Mouse OFF state"][!UpdateMeter MeterText][!Redraw] LeftMouseDownAction=[!SetOption MeterText Text "Mouse DOWN state"][!UpdateMeter MeterText][!Redraw] [MeterText] Meter=String FontSize=12 FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 Y=10R Text=Move mouse over button ``` -------------------------------- ### CPU Measure Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/cpu.html This example demonstrates how to set up CPU measures for both the average of all cores and a specific core (core 1). It then uses string meters to display the collected CPU usage data. ```ini [Rainmeter] Update=1000 BackgroundMode=2 SolidColor=0,0,0,255 [MeasureAverageCPU] Measure=CPU [MeasureCPU1] Measure=CPU Processor=1 [MeterText] Meter=String MeasureName=MeasureAverageCPU MeasureName2=MeasureCPU1 X=5 Y=5 W=100 H=35 FontColor=255,255,255,255 NumOfDecimals=1 Text="Average: %1%#CRLF#Core 1: %2%" ``` -------------------------------- ### Silent Install with Custom Options Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/installing-rainmeter/index.html Execute the Rainmeter installer silently with specific parameters for autostart and version. ```bash Rainmeter-4.5.0.exe /S /AUTOSTARTUP=0 /VERSION=32 ``` -------------------------------- ### Matrix Examples Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/transformation-matrix-guide.html Illustrates different matrix dimensions and formats, including vectors. ```txt |1 2 3| This is a 2x3 matrix |4 5 6| ``` ```txt |1| This is a 3x1 matrix. Normally, we call a matrix with |2| only one column a VECTOR. |3| ``` ```txt |15 20.2 4| A 3x3 matrix | 6 0.1 1| | 4 5 12| ``` -------------------------------- ### Portable Install with Custom Destination Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/installing-rainmeter/index.html Install Rainmeter in portable mode to a specified directory, bypassing default installation locations. ```bash Rainmeter-4.5.0.exe /S /PORTABLE=1 /D=E:\MyRainmeter ``` -------------------------------- ### Bar Meter Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/bar.html This example demonstrates how to use the Bar meter to visualize memory usage and free disk space. It includes settings for bar color, orientation, and size. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [Metadata] Name=ExampleMeterBar Author=The Rainmeter Team Information=Example of the Bar meter License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Version=1.0 [MeasureUsedMemory] Measure=PhysicalMemory [MeasureUsedDrive] Measure=FreeDiskSpace Drive=C: [MeterMemoryText] Meter=String MeasureName=MeasureUsedMemory FontSize=11 FontColor=255,255,255,255 AutoScale=1 AntiAlias=1 Text=Used RAM: %1 [MeterUsedMemoryBar] MeasureName=MeasureUsedMemory Meter=BAR Y=3R W=250 H=30 BarColor=185,250,160,255 SolidColor=150,150,150,255 BarOrientation=Horizontal [MeterDriveText] Meter=String MeasureName=MeasureUsedDrive Y=10R FontSize=11 FontColor=255,255,255,255 AutoScale=1 AntiAlias=1 Text=Free Drive C: %1 [MeterUsedDriveBar] MeasureName=MeasureUsedDrive Meter=Bar Y=3R W=250 H=30 BarColor=185,250,160,255 SolidColor=150,150,150,255 BarOrientation=Horizontal ``` -------------------------------- ### Configure Tooltip with CPU Usage Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/general-options/tooltips.html This example demonstrates how to configure a tooltip for a String meter displaying CPU usage. It includes a title, icon, and dynamic text that updates with system information. Ensure DynamicVariables=1 is set on the meter when using section variables. ```ini [Rainmeter] Update=1000 [MeasureCPU] Measure=CPU [MeasureCPUSpeed] Measure=Registry RegHKey=HKEY_LOCAL_MACHINE RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0 RegValue=~MHz UpdateDivider=-1 [MeasureCPUName] Measure=Registry RegHKey=HKEY_LOCAL_MACHINE RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0 RegValue=ProcessorNameString UpdateDivider=-1 [MeasureCPUIdentifier] Measure=Registry RegHKey=HKEY_LOCAL_MACHINE RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0 RegValue=Identifier UpdateDivider=-1 [MeasureCPUText] Meter=String X=0 Y=0 FontFace=Segoe UI FontColor=255,255,255,255 SolidColor=0,0,0,1 FontSize=12 StringStyle=Bold StringAlign=Left AntiAlias=1 Text="CPU Usage:" ToolTipTitle=CPU Information ToolTipType=1 ToolTipIcon=INFO ToolTipText=[MeasureCPUName]#CRLF#\[MeasureCPUIdentifier]#CRLF#Running at: [MeasureCPUSpeed] Mhz DynamicVariables=1 [MeterCPU%] MeasureName=MeasureCPU Meter=String X=140 Y=-2r FontFace=Segoe UI FontColor=255,255,255,255 FontSize=14 StringStyle=Bold StringAlign=Right AntiAlias=1 NumOfDecimals=0 Percentual=1 Text="%1%" ``` -------------------------------- ### Basic TransformationMatrix Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/transformation-matrix-guide.html This example demonstrates a basic transformation using the TransformationMatrix. It results in skewing and scaling an object. ```ini TransformationMatrix=1;-1;1;1;0;0 ``` -------------------------------- ### Basic Loop Measure Examples Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/loop.html Demonstrates two loop measures with different start, end, increment, and loop counts. Includes corresponding string meters to display the loop values and actions to toggle pause and reset the measures. ```ini [Rainmeter] Update=1000 DynamicWindowSize=1 AccurateText=1 [MeasureLoop1] Measure=Loop StartValue=37 EndValue=59 Increment=1 LoopCount=0 [MeasureLoop2] Measure=Loop StartValue=10 EndValue=0 Increment=-1 LoopCount=1 [MeterLoop1] Meter=String MeasureName=MeasureLoop1 W=154 H=50 X=77 StringAlign=Center FontSize=35 FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 LeftMouseUpAction=[!TogglePauseMeasure MeasureLoop1] MiddleMouseUpAction=[!CommandMeasure MeasureLoop1 "Reset"] [MeterLoop2] Meter=String MeasureName=MeasureLoop2 W=154 H=50 X=77 Y=10R StringAlign=Center FontSize=35 FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 LeftMouseUpAction=[!TogglePauseMeasure MeasureLoop2] MiddleMouseUpAction=[!CommandMeasure MeasureLoop2 "Reset"] ``` -------------------------------- ### Basic String Meter Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/index.html A simple example of a complete, working meter that displays text. This meter is of type String and shows 'Hello, world!'. ```ini [MyMeter] Meter=String Text=Hello, world! ``` -------------------------------- ### SpeedFan Plugin Configuration Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/speedfan.html This example demonstrates how to configure the SpeedFan plugin to measure GPU temperature and fan speed, and then display this information using meters. Ensure SpeedFan is running and configure the SpeedFanNumber option based on the SpeedFan application's indexing. ```ini [Rainmeter] Update=1000 DynamicWindowSize=1 BackgroundMode=2 SolidColor=0,0,0,255 [MeasureGPUTemp] Measure=Plugin Plugin=SpeedFanPlugin SpeedFanType=Temperature SpeedFanNumber=0 SpeedFanScale=C [MeasureFanSpeed] Measure=Plugin Plugin=SpeedFanPlugin SpeedFanType=Fan SpeedFanNumber=3 [MeterSpeedFan] Meter=String MeasureName=MeasureGPUTemp MeasureName2=MeasureFanSpeed FontSize=12 FontColor=255,255,255,255 StringStyle=Bold AntiAlias=1 Text=GPU Temp: %1#CRLF#Fan Speed: %2 ``` -------------------------------- ### WinGet Install with Overridden Parameters Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/installing-rainmeter/index.html Install Rainmeter using WinGet and override default silent installation parameters, such as enabling portable mode and specifying a destination directory. ```powershell winget install Rainmeter --override "/S /PORTABLE=1 /D=E:\MyRainmeter" ``` -------------------------------- ### Example: Mute Button with MediaKey Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/mediakey.html This example shows how to create a mute button using the MediaKey measure and a String meter. Clicking the meter triggers the VolumeMute bang. ```ini [MeasureMediaKey] Measure=MediaKey [MeterMute] Meter=String SolidColor=0,0,0,255 FontColor=255,255,255,255 Text=Mute LeftMouseUpAction=!CommandMeasure "MeasureMediaKey" "VolumeMute" ``` -------------------------------- ### Install Hexo CLI Globally Source: https://github.com/rainmeter/rainmeter-docs/wiki/Windows-Setup Installs the Hexo command-line interface globally, which is required for managing and building the documentation site. This command should be run in `cmd.exe` after installing Node.js. ```bash npm install hexo-cli -g ``` -------------------------------- ### NowPlaying Measure Configuration Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/nowplaying.html This example demonstrates how to configure the NowPlaying measure to display the title, artist, and album of the currently playing song from iTunes. It also includes examples of bangs to control playback. ```ini [Rainmeter] Update=1000 BackgroundMode=2 SolidColor=0,0,0,255 ; MeasurePlayer is the main measure. ; MeasureArtist and MeasureAlbum are secondary measures. [MeasurePlayer] Measure=NowPlaying ; The main measure specifies the media player on PlayerName. PlayerName=iTunes PlayerType=TITLE ; PlayerPath, TrackChangeAction, and DisableLeadingZero are valid here on ; the main measure only. [MeasureArtist] Measure=NowPlaying ; Secondary measures specify the name of the main measure on PlayerName. PlayerName=[MeasurePlayer] PlayerType=ARTIST [MeasureAlbum] Measure=NowPlaying PlayerName=[MeasurePlayer] PlayerType=ALBUM [MeterPrev] Meter=String X=5 Y=5 FontColor=FFFF00 Text="Prev" LeftMouseUpAction=[!CommandMeasure "MeasurePlayer" "Previous"] [MeterNext] Meter=String X=20R Y=5 FontColor=FFFF00 Text="Next" LeftMouseUpAction=[!CommandMeasure "MeasurePlayer" "Next"] [MeterTitle] Meter=String MeasureName=MeasurePlayer X=5 Y=35 W=400 H=20 FontColor=255,255,255,255 Text="Title: %1" [MeterArtist] Meter=String MeasureName=MeasureArtist X=5 Y=55 W=400 H=20 FontColor=255,255,255,255 Text="Artist: %1" [MeterAlbum] Meter=String MeasureName=MeasureAlbum X=5 Y=75 W=400 H=20 FontColor=255,255,255,255 Text="Album: %1" ``` -------------------------------- ### Process Measure Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/process.html This example demonstrates how to use the Process measure to check if Notepad is running and display its status. The Substitute option translates the measure's output (-1 or 1) into human-readable text. ```ini [Rainmeter] Update=1000 DynamicWindowSize=1 AccurateText=1 [MeasureProcess] Measure=Process ProcessName=Notepad.exe Substitute="-1":"not running","1":"running" [MeterProcess] Meter=String MeasureName=MeasureProcess FontSize=11 FontWeight=400 FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 Text=Notepad.exe is %1 ``` -------------------------------- ### Network Traffic Monitoring Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/net.html This example demonstrates how to use NetIn and NetOut measures to display incoming and outgoing bandwidth in a Rainmeter skin. It configures the measures and a meter to show the data with one decimal place and auto-scaling for bytes. ```ini [Rainmeter] Update=1000 BackgroundMode=2 SolidColor=0,0,0,255 [MeasureNetIn] Measure=NetIn [MeasureNetOut] Measure=NetOut [MeterText] Meter=String MeasureName=MeasureNetIn MeasureName2=MeasureNetOut X=5 Y=5 W=100 H=20 FontColor=255,255,255,255 NumOfDecimals=1 AutoScale=1 Text="In: %1B, Out: %2B" ``` -------------------------------- ### Example: Update Measure Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/bangs.html Demonstrates how to trigger an immediate update for a single measure. ```rainmeter !UpdateMeasure "CPUMeasure" ``` -------------------------------- ### Enigma Theme Default State Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/screen-position-variables.html A comprehensive example demonstrating how multiple skins in a theme can utilize screen position variables to adapt to different screen resolutions. ```INI [Enigma\_Home] Active=1 WindowX=(#WORKAREAX# + (#WORKAREAWIDTH# - 900) / 2) WindowY=(#WORKAREAY# + (#WORKAREAHEIGHT# - 600) / 2) [Enigma\Taskbar\_Taskbar] WindowX=(#WORKAREAX#) WindowY=(#WORKAREAY# + (#WORKAREAHEIGHT# - 33)) AlphaValue=127 FadeDuration=250 ClickThrough=0 Draggable=1 OnHover=0 SavePosition=1 SnapEdges=0 KeepOnScreen=1 AlwaysOnTop=-1 Active=3 [Enigma\Sidebar\_Sidebar] Active=2 WindowX=(#WORKAREAX# + (#WORKAREAWIDTH# - 214)) WindowY=(#WORKAREAY#) AlphaValue=76 FadeDuration=250 ClickThrough=0 Draggable=1 OnHover=0 SavePosition=1 SnapEdges=0 KeepOnScreen=1 AlwaysOnTop=-1 [Enigma\Sidebar\Clock] Active=4 WindowX=(#WORKAREAX# + (#WORKAREAWIDTH# - 283)) WindowY=(#WORKAREAY#) AlphaValue=255 FadeDuration=250 ClickThrough=0 Draggable=1 OnHover=0 SavePosition=1 SnapEdges=0 KeepOnScreen=1 AlwaysOnTop=0 [Enigma\Sidebar\Music] WindowX=(#WORKAREAX# + (#WORKAREAWIDTH# - 195)) WindowY=(#WORKAREAY# + (#WORKAREAHEIGHT# - 115)) AlphaValue=255 FadeDuration=250 ClickThrough=0 Draggable=1 OnHover=0 SavePosition=1 SnapEdges=1 KeepOnScreen=1 AlwaysOnTop=0 Active=2 [Enigma\Sidebar\Notes] Active=2 WindowX=(#WORKAREAX# + (#WORKAREAWIDTH# - 188)) WindowY=(#WORKAREAY# + 110) AlphaValue=255 FadeDuration=250 ClickThrough=0 Draggable=1 OnHover=0 SavePosition=1 SnapEdges=0 KeepOnScreen=0 AlwaysOnTop=0 [Enigma\Taskbar\Combos\Tray Systems] Active=1 WindowX=(#WORKAREAX# + (#WORKAREAWIDTH# - 253)) WindowY=(#WORKAREAY# + (#WORKAREAHEIGHT# - 28)) AlphaValue=255 FadeDuration=250 ClickThrough=0 Draggable=1 OnHover=0 SavePosition=1 SnapEdges=0 KeepOnScreen=1 AlwaysOnTop=0 ``` -------------------------------- ### Conditional Actions Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/general-options/ifconditions.html This example shows how to use IfCondition, IfTrueAction, and IfCondition2/IfTrueAction2 to set text based on CPU usage ranges. It also demonstrates the use of OnUpdateAction to refresh a meter. ```ini [Rainmeter] Update=1000 DynamicWindowSize=1 AccurateText=1 [MeasureCPU] Measure=CPU IfCondition=MeasureCPU < 10 IfTrueAction=[!SetOption MeterCPU Text "CPU usage is less than 10 percent"] IfCondition2=(MeasureCPU >= 10) && (MeasureCPU <= 90) IfTrueAction2=[!SetOption MeterCPU Text "CPU usage is between 10 and 90 percent"] IfCondition3=MeasureCPU > 90 IfTrueAction3=[!SetOption MeterCPU Text "CPU usage is more than 90 percent!"] OnUpdateAction=[!UpdateMeter MeterCPU] [!Redraw] [MeterCPU] Meter=String FontSize=12 FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 ``` -------------------------------- ### PLAY Command Examples Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/history.html Demonstrates various ways to use the PLAY command to execute audio files, including direct execution and within !execute bangs. ```INI ButtonCommand=PLAY #SKINSPATH#Beeper\Sounds\beep.wav ``` ```INI ButtonCommand=PLAY "#SKINSPATH#Beeper\Sounds\beep.wav" ``` ```INI ButtonCommand=!execute [PLAY #SKINSPATH#Beeper\Sounds\beep.wav] ``` ```INI ButtonCommand=!execute [PLAY "#SKINSPATH#Beeper\Sounds\beep.wav"] ``` -------------------------------- ### Basic ActionList Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/actiontimer.html Executes 'FirstAction', waits 5ms, then executes 'SecondAction'. Ensure 'FirstAction' and 'SecondAction' are defined elsewhere. ```ini ActionList1=FirstAction | Wait 5 | SecondAction ``` -------------------------------- ### Loop Measure with InvertMeasure for Ping-Pong Effect Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/loop.html This example uses a Loop measure with variables for start, end, and increment values. It demonstrates a 'ping-pong' effect by toggling the InvertMeasure option when the loop reaches its start or end values, creating a back-and-forth motion. ```ini [Rainmeter] Update=500 DynamicWindowSize=1 AccurateText=1 [Variables] Start=0 End=10 Incr=1 [MeasureLoop] Measure=Loop StartValue=#Start# EndValue=#End# Increment=#Incr# LoopCount=1 [MeasurePingPong] Measure=Calc IfCondition=MeasureLoop = #End# IfTrueAction=[!SetOption MeasureLoop InvertMeasure 1][!UpdateMeasure MeasureLoop] IfCondition2=MeasureLoop = #Start# IfTrueAction2=[!SetOption MeasureLoop InvertMeasure 0][!UpdateMeasure MeasureLoop] [MeterLoop] Meter=String MeasureName=MeasureLoop W=154 H=50 X=77 StringAlign=Center FontSize=35 FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 ``` -------------------------------- ### Action Option Examples Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/skins/option-types.html Illustrates how to define action options using bangs or external commands, including single and multiple bangs, and handling parameters with spaces. ```ini ; Single bang: LeftMouseUpAction=!HideMeter SomeMeter LeftMouseUpAction=[!HideMeter SomeMeter] ; Multiple bangs: LeftMouseUpAction=[!HideMeter SomeMeter][!HideMeter SomeOtherMeter] ``` -------------------------------- ### Stroke Dash Offset Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/shape/index.html Defines an offset for the start of the first dash in a stroke pattern. The offset is a multiplication factor based on StrokeWidth. ```ini Shape=Rectangle 0,0,100,100 | StrokeWidth 4 | StrokeDashes 2,2 | StrokeDashOffset 1.0 ``` -------------------------------- ### Image Crop Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/general-options/image-options.html Crops an image starting from the center origin, moving left and up, then capturing a specific width and height. This is performed before resizing. ```ini ImageCrop=-50,-30,100,60,5 ``` -------------------------------- ### AudioLevel Parent and Child Measures Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/audiolevel.html This example demonstrates the parent/child measure setup for the AudioLevel plugin. The parent measure processes the default audio output, and child measures retrieve RMS values for the left and right channels. ```ini ; This parent measure processes the default audio output. [MeasureAudioRaw] Measure=Plugin Plugin=AudioLevel ; This child measure gets the current RMS value of the left channel (0.0 to 1.0). [MeasureAudioRMS_L] Measure=Plugin Plugin=AudioLevel Parent=MeasureAudioRaw Channel=L Type=RMS ; This child measure gets the current RMS value of the right channel (0.0 to 1.0). [MeasureAudioRMS_R] Measure=Plugin Plugin=AudioLevel Parent=MeasureAudioRaw Channel=R Type=RMS ``` -------------------------------- ### Basic Plugin Measure Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/plugin.html Demonstrates how to use a plugin measure to retrieve user name information. Ensure the specified plugin and its types are correctly configured. ```ini [Rainmeter] Update=1000 BackgroundMode=2 SolidColor=0,0,0,255 [MeasureUserName] Measure=Plugin Plugin=SysInfo SysInfoType=USER_NAME [MeterText] Meter=String MeasureName=MeasureUserName X=5 Y=5 W=100 H=25 FontColor=255,255,255,255 Text="User: %1" ``` -------------------------------- ### Install Rainmeter using WinGet Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/installing-rainmeter/index.html Install the latest version of Rainmeter using the Windows Package Manager (WinGet). This command uses default silent installation parameters. ```powershell winget install Rainmeter ``` -------------------------------- ### Display RAM Total, Used, and Free Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/memory.html This example shows how to configure measures for total, used, and free physical memory and display them using a string meter. Ensure the measures are correctly named and referenced in the meter. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [MeasurePhysMemTotal] Measure=PhysicalMemory Total=1 UpdateDivider=3600 [MeasurePhysMemUsed] Measure=PhysicalMemory UpdateDivider=2 [MeasurePhysMemFree] Measure=PhysicalMemory InvertMeasure=1 UpdateDivider=2 [MeterText] Meter=String MeasureName=MeasurePhysMemTotal MeasureName2=MeasurePhysMemUsed MeasureName3=MeasurePhysMemFree FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 NumOfDecimals=1 AutoScale=1 Text="RAM Total: %1B, RAM Used: %2B, RAM Free: %3B" ``` -------------------------------- ### Creating a 'Hello, world!' String Meter Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/getting-started/creating-skins.html Adds a basic String meter to display 'Hello, world!'. Requires the [Rainmeter] section and defines the meter type and its text content. ```ini [Rainmeter] Update=1000 [MeterString] Meter=String Text=Hello, world! ``` -------------------------------- ### Run Command Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/runcommand.html This command triggers the plugin to run the specified program. The plugin will take no action unless triggered with this command. ```rainmeter [!CommandMeasure MeasureName "Run"] ``` -------------------------------- ### Silent Install with No Restart Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/installing-rainmeter/index.html Perform a silent installation of Rainmeter and prevent it from restarting automatically after completion. ```bash Rainmeter-4.5.0.exe /S /RESTART=0 ``` -------------------------------- ### CoreTemp Plugin Configuration Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/coretemp.html This example demonstrates how to configure the CoreTemp plugin to retrieve various CPU metrics. Ensure CoreTemp is running and configure options like CoreTempType and CoreTempIndex as needed. ```ini [Rainmeter] Update=1000 BackgroundMode=2 SolidColor=0,0,0,255 [MeasureMaxTemp] Measure=Plugin Plugin=CoreTemp CoreTempType=MaxTemperature [MeasureCore1Temp] Measure=Plugin Plugin=CoreTemp CoreTempType=Temperature CoreTempIndex=0 [MeasureCpuSpeed] Measure=Plugin Plugin=CoreTemp CoreTempType=CpuSpeed [MeterMaxTemp] Meter=String MeasureName=MeasureMaxTemp X=5 Y=5 W=200 H=20 FontColor=255,255,255,255 Text="Max Temp: %1°C" [MeterCore1Temp] Meter=String MeasureName=MeasureCore1Temp X=5 Y=25 W=200 H=20 FontColor=255,255,255,255 Text="Core 1 Temp: %1°C" [MeterCpuSpeed] Meter=String MeasureName=MeasureCpuSpeed X=5 Y=45 W=200 H=20 FontColor=255,255,255,255 Text="Frequency: %1 MHz" ``` -------------------------------- ### Example: Toggle Pause Measure Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/bangs.html An example showing how to pause or unpause a measure's updating process. ```rainmeter !TogglePauseMeasure "CPUMeasure" ``` -------------------------------- ### Line Meter Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/line.html Demonstrates the usage of the Line meter to display network input and output values. It configures two lines with different colors and enables auto-scaling for optimal visualization. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [Metadata] Name=ExampleMeterLine Author=The Rainmeter Team Information=Example of the Line meter License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Version=1.0 [MeterBackground] Meter=Image W=220 H=80 SolidColor=150,150,150,255 [MeasureNetIn] Measure=NetIn [MeasureNetOut] Measure=NetOut [MeterNetworkLine] Meter=Line MeasureName=MeasureNetOut MeasureName2=MeasureNetIn X=5 Y=5 W=210 H=70 LineCount=2 LineColor=140,252,124,255 LineColor2=254,211,122,255 SolidColor=0,0,0,255 AutoScale=1 AntiAlias=1 ``` -------------------------------- ### Initial WebParser Measure Setup (Debug Mode) Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/webparser-tutorial.html This snippet sets up the initial WebParser measure with Debug=2 enabled. This option downloads the raw HTML from the URL into a file named 'WebParserDump.txt' for analysis. Remove Debug=2 after obtaining the dump file. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [MeasureSite] Measure=WebParser URL=https://browserleaks.com/ip RegExp= Debug=2 [MeterDummy] Meter=String ``` -------------------------------- ### Skew Calculation Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/transformation-matrix-guide.html Illustrates the geometric relationship for calculating skew angles. This is a conceptual example and not directly executable code. ```txt /| / | 1 /_|_| 1 y'=1*y ``` -------------------------------- ### Get Meter Y Position in Lua Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/lua-scripting/index.html Get the current Y position of the meter. If the Absolute parameter is true, it returns the absolute Y position. ```lua MyY = MyMeter:GetY() ``` -------------------------------- ### Repeating ActionList Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/actiontimer.html Executes 'FirstAction' 20 times with a 5ms delay between each execution, then waits 5ms and executes 'SecondAction'. ```ini ActionList1=Repeat FirstAction, 5, 20 | Wait 5 | SecondAction ``` -------------------------------- ### Build and Preview Hexo Site Source: https://github.com/rainmeter/rainmeter-docs/wiki/Windows-Setup Commands to generate the static site content using Hexo and to start a local development server for previewing changes. ```bash hexo generate ``` ```bash hexo server ``` -------------------------------- ### RSS Feed Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/rss-feed-tutorial.html This is an example of raw RSS feed data, showing various news items with their titles, links, and publication dates. ```xml BBC News - Home https://feeds.bbci.co.uk/news/rss.xml Wed, 13 Nov 2013 14:26:44 GMT UK recovery takes hold, says Bank http://www.bbc.co.uk/news/business-24926512#sa-ns_mchannel=rss&ns_source=PublicRSS20-sa Wed, 13 Nov 2013 12:46:25 GMT ``` -------------------------------- ### Basic Calc Measure Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/index.html A simple example of a Calc measure that performs a basic addition. The UpdateDivider=-1 setting ensures it updates only when explicitly refreshed. ```ini [MeasureFour] Measure=Calc Formula=2+2 UpdateDivider=-1 ``` -------------------------------- ### Get Meter X Position in Lua Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/lua-scripting/index.html Get the current X position of the meter. If the Absolute parameter is true, it returns the absolute X position. ```lua MyX = MyMeter:GetX() ``` -------------------------------- ### Example Usage of Clamp Function in Lua Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/snippets/clamp.html This example demonstrates how to use the Clamp function to constrain a variable's value within a specific range during a loop. ```lua for i = 10, 30 do myVal = Clamp(i, 15, 25) end ``` -------------------------------- ### ResMon Plugin Configuration Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/plugins/resmon.html This snippet demonstrates how to configure the ResMon plugin to measure GDI handles for both the entire system and the Rainmeter process. It also shows how to display these values using a meter. ```ini [Rainmeter] Update=1000 DynamicWindowSize=1 BackgroundMode=2 SolidColor=0,0,0,255 [MeasureSystemGDI] Measure=Plugin Plugin=Resmon ResCountType=GDI [MeasureRainmeterGDI] Measure=Plugin Plugin=Resmon ResCountType=GDI ProcessName="Rainmeter.exe" [MeterOne] Meter=String MeasureName=MeasureSystemGDI MeasureName2=MeasureRainmeterGDI FontSize=12 FontColor=255,255,255,255 StringStyle=Bold AntiAlias=1 Text=GDI Handles: %1 (Rainmeter: %2) ``` -------------------------------- ### Initialize Plugin with Skin Window Handle Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/developers/plugins/cpp/api.html Initializes plugin data and retrieves the handle to the skin's window. ```cpp PLUGIN_EXPORT void Initialize(void** data, void* rm) { Measure* measure = new Measure; *data = measure; // 'measure->skinWindow' defined as HWND in 'Measure' class scope measure->skinWindow = RmGetSkinWindow(rm); } ``` -------------------------------- ### Conditional Actions Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/general-options/ifmatchactions.html This example sets the text of a meter based on whether the current day is a weekend or weekday. The IfMatchMode=1 ensures the action is evaluated on every update. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [MeasureDate] Measure=Time Format=%A, %B %#d, %Y IfMatch=Saturday|Sunday IfMatchAction=[!SetOption MeterDayofWeek Text "The date is [MeasureDate]#CRLF#It's a weekend"] IfNotMatchAction=[!SetOption MeterDayofWeek Text "The date is [MeasureDate]#CRLF#It's a weekday"] IfMatchMode=1 [MeterDayofWeek] Meter=String FontSize=13 FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 AntiAlias=1 ``` -------------------------------- ### Example Rainmeter Code Snippet Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/getting-started/index.html This is an example of Rainmeter code, illustrating the basic structure and syntax used in skin configuration files. It can be modified using text editing software. ```ini [Rainmeter] Update=1000 [MyMeter] Meter=String Text=Hello, World! FontSize=20 FontColor=255,255,255 SolidColor=0,0,0,1 ``` -------------------------------- ### Update Multiple Meters and Redraw Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/update-with-bangs.html This example demonstrates updating multiple meters with different options and then redrawing the entire skin once. It shows how to chain bangs for complex on-demand updates. ```ini LeftMouseUpAction=[!SetOption MeterOne FontSize 12][!SetOption MeterTwo FontSize 11][!UpdateMeter MeterOne][!UpdateMeter MeterTwo][!Redraw] ``` -------------------------------- ### Example RSS Feed Structure Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/tips/rss-feed-tutorial.html This is an example of a basic RSS feed's structure, illustrating the layout of feed information and individual entries. It serves as a basis for understanding how to parse such feeds. ```html RSS Title This is an example of an RSS feed https://www.someexamplerssdomain.com/main.html Mon, 06 Sep 2009 16:45:00 +0000 Example entry Here is some text containing an interesting description. https://www.wikipedia.org/ Mon, 06 Sep 2009 16:45:00 +0000 ``` -------------------------------- ### TransformationMatrix Examples Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/general-options/index.html Demonstrates how to use the TransformationMatrix option to manipulate meter appearance. Transformations are relative to the top-left corner of the window. ```ini TransformationMatrix=-1; 0; 0; 1; 40; 0 ``` ```ini TransformationMatrix=1; 0; 0; -1; 0; 100 ``` ```ini TransformationMatrix=0.5; 0; 0; 1; 25; 0 ``` -------------------------------- ### String Measure Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/measures/string.html This example demonstrates how to use the String measure to define a string with comma-separated values and then use RegExpSubstitute to replace one of the values. The resulting string is displayed by a MeterString. ```ini [Rainmeter] Update=1000 AccurateText=1 DynamicWindowSize=1 [MeasureMyString] Measure=String String=Red, Green, Blue RegExpSubstitute=1 Substitute="Green":"Yellow" [MeterMyString] Meter=String MeasureName=MeasureMyString FontColor=255,255,255,255 SolidColor=47,47,47,255 Padding=5,5,5,5 Text=The colors are %1 ``` -------------------------------- ### Deploy Site with Deploy Script Source: https://github.com/rainmeter/rainmeter-docs/wiki/Windows-Setup Executes a deployment script that generates the site and commits the changes to the `gh-pages` branch, preparing it for deployment to `docs.rainmeter.net`. ```bash deploy.sh ``` -------------------------------- ### Set Stroke Start Cap for Shape Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/shape/index.html Defines the shape of the cap at the start of a drawing stroke on an open shape. Ignored on closed shapes. Options include Flat, Round, Square, and Triangle. ```ini Shape=Rectangle 0,0,100,100 | StrokeWidth 4 | StrokeStartCap Round ``` -------------------------------- ### Inline Settings Example Source: https://github.com/rainmeter/rainmeter-docs/blob/master/source/manual/meters/string/inline.html Demonstrates various inline settings and their corresponding patterns to modify a string meter. Each setting targets specific parts of the string using regular expressions. ```ini [Rainmeter] Update=1000 DynamicWindowSize=1 AccurateText=1 [MeasureString] Measure=String String=This is an InlinePattern test string.#CRLF#It contains numbers like 123 and 456#CRLF#and colors like red and blue. How#CRLF#about GreenToYellow as well! [MeterString] Meter=String MeasureName=MeasureString FontSize=15 FontColor=255,255,255,255 SolidColor=20,20,20,255 Padding=5,5,5,5 AntiAlias=1 InlineSetting=Weight | 700 InlinePattern=^(.*) is InlineSetting2=Oblique InlinePattern2=test string InlineSetting3=Underline InlinePattern3=test string InlineSetting4=Size | 17 InlinePattern4=(\d\d\d) InlineSetting5=Color | 255,97,97,255 InlinePattern5=colors like (.*) and InlineSetting6=Color | 117,199,235,255 InlinePattern6=colors like .* and (.*)\\. InlineSetting7=Face | Segoe Script InlinePattern7=colors like .* and (.*)\\. InlineSetting8=GradientColor | 180 | 57,204,79,255 ; 0.0 | 250,247,157,255 ; 1.0 InlinePattern8=GreenToYellow ```