Beruflich Dokumente
Kultur Dokumente
c
Introduction
Rainmeter is a Windows customization application. Empower your desktop with an expandable
library of useful tools - handy notes and application launchers, weather and feeds from the web,
system status and more. Then, rearrange and modify them to suit your personal style. With
Rainmeter, your desktop is finally yours.
Rainmeter can display various performance data in different formats. It can measure:
i? V load
i? ¦llocated memory
i? ½etwork traffic
i? Windows performance data
i? ptime
i? Ôree disk space
i?
The data can be displayed e.g. in a histogram, a bar, bitmap frames or just plain numbers.
Rainmeter also includes a plugin interface to extend the capabilities with 3rd party plugins.
Rainmeter will run on Windows 2000 and above and has both 32bit and 64bit versions.
Important links
Location of the latest version of Rainmeter for download: Rainmeter Homepage
The Rainmeter Vommunity Ôorums: Rainmeter Ôorums
Rainmeter Skins on Deviant¦rt: Rainmeter on Deviant¦rt
Rainmeter Group on Deviant¦rt: Rainmeter Group on Deviant¦rt
Rainmeter Skins on Vustomize.org: Rainmeter on Vustomize.org
Installation
Download the latest release or beta version from http://rainmeter.net. The installer (.exe) allows
you to install both 'standard' and 'portable' installations.
If you are running on a 64bit version of Windows, you will be asked if you wish to install 64bit
or 32bit Rainmeter. If the installer detects a previous version of Rainmeter on your system, the
same architecture version will automatically be installed. If you wish to change from 32bit to
64bit, you should uninstall Rainmeter first.
Rainmeter will detect if you require either the V runtime libraries or the .½ET libraries. The
V runtimes are required to use Rainmeter. Vhances are you already have them, but if not,
Rainmeter will download and install them. The .½ET libraries are required to use any of the V
plugins which come with Rainmeter. If you are running on Windows 2000 you will need at least
Service ack 3, and on X at least Service ack 2, to install the .½ET libraries. If you elect not to
install the .½ET files, you will not be able to use any plugins written in V.
c
!
"#$
!
%.
The file which Rainmeter uses to keep track of the skins you have loaded and how they are
configured (Rainmeter.ini) is stored in your "¦pplication Data" folder, and all Rainmeter "skins"
are stored in your "My Documents" folder.
½ormal Installation
Run the installer. By default Rainmeter will install in "V:\ rogram Ôiles\Rainmeter", but you
may install it in any folder you wish. The installer presents you with a set of options allowing
you to create Start Menu and desktop shortcuts, have Rainmeter automatically start with
Windows, and install Rainmeter for all users.
When Rainmeter starts the first time, it will install the default skins and themes in the proper
folder locations and load the illustro suite of skins.
ortable Installation
If you wish to run Rainmeter from one folder, so it can be easily taken with you or even run
directly from a removable drive, all you need to do is download the latest installer and select
' ortable Install' during the install process. You will be prompted to browse for a location (for
which you have full read and write access) to install ortable Rainmeter. ¦fter the install, you
may use the program normally, but can easily take the application "on the road" by copying the
entire \Rainmeter folder and sub-folders. ½ote that if you do a portable install, you are
responsible for ensuring you have the appropriate V and .½ET runtime libraries installed on
your system.
Skins:
!
"#& V:\Documents and Settings\Your½ame\My Documents\Rainmeter\Skins
!
$
: V:\sers\Your½ame\My Documents\Rainmeter\Skins
ninstalling
If you installed Rainmeter with the installer you can uninstall it from "¦dd or Remove
rograms". If you installed ortable Rainmeter, just delete the folder you browsed for during the
install process.
R
Settings
There is no fancy settings editor, so you need to change the settings with your favorite text
editor. The general configuration settings are in a file named
. The skin settings are
in the skin's respective .ini files.
The file can be edited by using "Edit Settings" from the Rainmeter context menu or
RainBrowser.
The Rainmeter.ini file has several sections [Rainmeter], [TrayMeasure] and [Statistics] as well as
individual sections for each config which has been loaded. The Rainmeter section contains
general settings that can be used to change how Rainmeter behaves. The settings are used as
default values for all new configs that are opened. Once the config is opened it will write the
settings under its own section in the Rainmeter.ini file. The Statistics section contains some
network traffic information used by measures like ½etIn/½etOut. Do not modify this data by
hand.
u & Some of the settings in the
file cannot be changed while Rainmeter is
running becase a refresh will write the old values back to the ini file. So if you cannot change
something try to close Rainmeter and then change the value.
[Rainmeter]
The [Rainmeter] section of Rainmeter.ini defines general Rainmeter settings. The following must
be put under the [Rainmeter] section:
'!'¦
Sets a new work area for the desktop. The workarea defines the area maximized windows cover.
se four comma separated values to set the location of the top-left and bottom-right corners of
the area (e.g. DesktopWorkArea=0,0,1500, 1200). ½ote that moving the taskbar will reset the
workarea to Windows' default, as will changing screen resolution. If you have multiple monitors,
you can set the DesktopWork¦rea for a specific monitor by adding @ and the number of the
monitor to the end of DesktopWork¦rea. DesktopWorkArea= or DesktopWorkArea@0= is the
primary monitor, and DesktopWorkArea@1-@xx is a specific monitor.
ë u
Set to 0 to get rid of the tray icon.
ë () *,ë () ,ë () c,ë () *,ë () ,
ë () c
Executes a command or !bang when the tray icon is (double)clicked with the mouse. L, R and M
denote left, right and middle buttons respectively. ½ote that TrayExecuteR will override the
normal context menu in the tray.
(
Defines the application that is used to edit the Rainmeter's configuration files when "Edit Skin"
is chosen from the context menu. The default is ½otepad. Relative paths can be used here, which
may be useful for portable installs.
+'#
Is set by Rainmeter automatically (or can be manually changed) to indicate the location of the
Vonfig/Skin folders for Rainmeter.
The default is:
Windows X : V:\Documents and Settings\Your½ame\My Documents\Rainmeter\Skins
Windows Vista & Win7: V:\sers\Your½ame\My Documents\Rainmeter\Skins
*
If set to "1" then Rainmeter will log errors and other information in a log file stored in
%¦ D¦T¦%\Rainmeter\Rainmeter.log. You can start, stop, view and delete this log by using
the Rainmeter system tray context menu.
If set to "1" then additional logging information will be added to Rainmeter.log. Default is "0"
$
'
By default, Rainmeter will check to see if there is a newer RELE¦SE version of the application
available. If so, it will prompt you with a link to the site where the new version can be obtained.
If you wish to disable this version checking, set DisableVersionCheck=1.
[TrayMeasure]
One special section is [TrayMeasure], which can be used to define a measure for the tray icon.
You can use any measure for this as long as it returns some meaningful values (i.e. numbers
between some limits). The following must be put under the [TrayMeasure] section:
The type measure to be shown as the tray icon. The normal parameters for that measure should
follow.
ë
The manner in which the measure is depicted. This can be either HISTOGR¦M or BITM¦ .
ë ,
Defines the background color when ërayMeter=HISë AM.
ë
Defines the foreground color when ërayMeter=HISë AM.
ë
Defines the name of the bitmap used when BITM¦ is chosen for TrayMeter. The bitmap can
have as many frames as you like but each frame must be 16x16 in size. The path is relative to the
Rainmeter's Skins folder.
It's possible to also use icon files as the tray bitmap. You can use %i in the filename to define an
increasing number from 1. E.g. ërayBitmap=tray-%i.ico would read the icons files tray-1.ico,
tray-2.ico, tray-3.ico and so on as long as it can find them. The format specification is like printf
(e.g. ërayBitmap=tray-%02i.ico will load tray-01.ico, tray-02.ico, ...)
½ To use the default Rainmeter icon as the tray icon, remove the entire [TrayMeasure]
section.
[Vonfig½ame]
The following should be put under the the sections for their respective configs. Ôor example
[illustro\Vlock]. !" !-
These define the X and Y positions of the config on the screen in pixels. If the %-sign is added,
the measurement will be in percentage. If a capital R is added to the value then the position will
be relative to the right edge of the screen instead of the left. By default the position is relative to
the primary screen. You can override this with @n where n is 0 to 32 and denotes which screen
to position the meter on (1-32) or the virtual desktop (0). The screen selection will apply to both
WindowX and WindowY if the value is set on only one of them. If Rainmeter is ran inside a
lsbox the window position should be set to 0.
¦s an example, by setting WindowX, WindowY, ¦nchorX and ¦nchorY all to 50% the config
will be truly centered in the primary monitor regardless of screen resolution or aspect ratio.
+ .#
If set to 1, the position of the window is stored in the Rainmeter.ini file so that it will be
remembered when Rainmeter is executed the next time. This can also be set via the context menu
by right-clicking the desired config and navigating to "Skin Menu".
¦
/ë
If set to 1, the window is always on top of other windows. If 0, the window positioning is
normal. If set to -1 the window stays behind the other windows. ¦ value -2 pins the window to
the desktop and 2 keeps the window ontop of other topmost windows.
½ote that -2 (On Desktop) only works with Explorer.exe as the Window shell. ¦lso be aware that
the "order" of skins when two or more are set to "On Desktop" and positioned on top of each
other is determined by their order in Rainmeter.ini in ascending order. The first skin [section] in
Rainmeter.ini is on the bottom relative to ones that come after. ¦ value of -2 (On Desktop) will
work with X /Vista/Windows 7 with the ¦ero Interface on or off. In Vista and Windows 7 if a
skin is set to On Desktop and Windows "Show Desktop" is used (WI½D), the Rainmeter skins
will stay visible.
These values can also be set via the context menu by right-clicking the desired config and
navigating to "Skin Menu > osition".
If set to 1, the window can be dragged around with the mouse. If 0, the window will be
stationary. This can also be set via the context menu by right-clicking the desired config and
navigating to "Skin Menu".
+ (
If set to 1, the window will snap, or "stick", to screen edges and other skins when moved. If shift,
ctrl or alt is held while moving, the window will not snap. This can also be set via the context
menu by right-clicking the desired config and navigating to "Skin Menu".
0/
/.
If set to 1 the config will disappear if the mouse pointer is moved over it. The window will
reappear when the mouse pointer is moved off the position where the window was. If shift, ctrl
or alt is held while moving the mouse, the window will not disappear (or reappear). This can also
be set via the context menu by right-clicking the desired config and navigating to "Skin Menu".
+ 0
If set to 1, the config is hidden when started. You can use !RainmeterShow bang to make it
visible.
1 .ë
Set to 1 for native transparency support (only necessary for Win2k & X ).
¦ $
The transparency value for the window. se values between 0...255. Only works if native
transparency is enabled. This can also be set via the context menu by right-clicking the desired
config and navigating to "Skin Menu > Transparency".
2
This defines the amount of time it takes to fade the window. The time is in milliseconds. To get
rid of the fading set the value to 0.
'ë
If set to 1 the mouse clicks go through the window. Only works if native transparency is enabled.
If shift, ctrl or alt is held while clicking, the skin will respond to clicks as normal. This can also
be set via the context menu by right-clicking the desired config and navigating to "Skin Menu".
3/+
Set to 1 to keep the windows always on the monitor area. This can also be set via the context
menu by right-clicking the desired config and navigating to "Skin Menu".
* /
This determines the order in which the configs are loaded. Values can be positive or negative.
Vonfigs will load starting with the one with the lowest value for LoadOrder, ending with the
highest. Vonfigs loaded first are below those loaded last, for example: Three configs having
Ñoad rder=-1, Ñoad rder=2 and Ñoad rder=5 would load the configs in that order, with the
config with Ñoad rder=-1 appearing beneath the one with Ñoad rder=2 which is in turn
beneath the config containing Ñoad rder=5. If two configs have the same value for LoadOrder,
they are then loaded in alphabetical order. LoadOrder must be set manually in "Rainmeter.ini" by
selecting "Edit Settings..." from the context menu, or by using the "Skin Settings" button in the
RainBrowser addon.
½ The value of LoadOrder has no bearing on what the position of the config is, i.e. "On
Desktop", "½ormal, "Topmost", etc. Vonfigs in these positions will continue to appear in the
same manner, with LoadOrder only affecting how skins in the same position interact with each
other. That is to say, configs set to "Topmost" will always appear above configs set to "½ormal",
but two configs in "Topmost" will layer themselves according to their LoadOrder value.
Built-in Variables
The following are pre-existing variables whose values are set by the system and do not need to
be defined in the [Variables] section.
You may also use the Windows "environment" variables which can be obtained by entering
"Set" at a command (cmd.exe) prompt. These are used by putting the variable name inside of
percent characters. (LeftMousep¦ction=!Execute ["Explorer.exe"
"% rogramÔiles%\Rainmeter"]) Be aware that Windows environment variables vary with
different versions of Windows.
Built-in Rainmeter and Windows variables many be used anywhere, including within
Rainmeter.ini. They however cannot be redefined by a !RainmeterSetVariable statement.
Vonfig Groups
Vonfigs can be categorized into "Groups". To add a Vonfig to a group, simply add the "Group"
statement to the section. ¦ny number of groups may be added to a section, all of which must be
separated by a vertical bar (i.e. "|"). Groups may also be specified under the [Rainmeter] section.
In this case, that group will be considered the default for all configs that have no groups defined.
R
nigma\Sidebar\Systems]
Active=0
WindowX=0
WindowY=0
AlphaValue=255
FadeDuration=250
Clickëhrough=0
Draggable=1
Hide nMouse ver=0
SavePosition=1
Snap dges=1
Keep nScreen=1
AutoSelectScreen=0
Always nëop=0
roup= nigma | System | Sidebar
In this example, the Enigma\Sidebar\Systems config would belong to the "Enigma" group, the
"System" group and the "Sidebar" group.
The bangs to control config groups can be found at the Bangs page.
Multiple Monitors
There is a "Display Monitor" submenu in [Skins Menu]-[ osition] of the Rainmeter tray icon.
These menus set the position of the skin to the desired monitor in a multiple monitor
configuration.
i? *5
&# *
Removes the @-directive from WindowX/Y.
i? ' , @1, @2, ...
¦dds the specified monitor number to WindowX/Y. @0 means "The Virtual Screen".
More info at: http://msdn.microsoft.com/en-us/library/dd145136%28VS.85%29.aspx
i? *¦
*
If checked, the WindowX and WindowY "@n" settings are made automatically based on the
position of the meter's window.
If a monitor is selected directly using "Display Monitor" in the Rainmeter / skin context menu,
this menu is unchecked. This setting can be manually made in either the [Rainmeter] (all configs)
or individual config sections of Rainmeter.ini.
¦ ++
If set to 1, the WindowX and WindowY "@n" settings are made automatically based on the
position of the meter's window. If a monitor is selected directly using "Display Monitor" in the
Rainmeter / skin context menu, this setting is reset to 0.
The following variables are for the S EVIÔIED monitor (@1, @2, ...):
Skins
The skins are placed into the "Skins folder. Each skin must be in its own subfolder. The actual
skin file is a normal .ini file with several sections that defines the skin's shape and the things it
measures and displays. The skin's subfolder can contain several .ini files, but only one of them
can be active at the any time. This allows you, for example, to supply localized skins or different
variations of some skin.
The skin's ini file is divided into several parts. ¦ll the general settings are put under the
[Rainmeter] section, information about the skin used by RainBrowser in the [Metadata] section
and the variables in the [Variables] section. ¦fter the general stuff come the [Measures], which
do the actual measuring of values, and [Meters], which are visual representations of the results of
the the measures. It is possible to bind many meters for one measure. While it is not necessary to
place the sections in this order, it is the convention that is observed by many skin authors.
½ While you can put sections in any order you wish, it is important to understand that
Rainmeter reads and executes measures and meters in the order they are in the skin .ini file. This
is important in particular for positioning of meters relative to each other.
[Rainmeter]
Background Image Settings
'
½ame of the background image. If this is omitted a copy of the desktop is taken and used as the
background for the meters.
Vhanges to the image are applied in the following order: ImageVrop -> GreyScale -> ImageTint
-> ImageÔlip -> ImageRotate.
'
Defines the background mode:
u
Vrops the image. The parameters are ImageCrop=X, Y, W, H, rigin. Origin is optional and
can be set to one of the following:
i? , - Top left
i? - Top right
i? - Bottom right
i? - Bottom left
i? - Venter (both W and H)
4
If set to 1, the image will be greyscaled.
u ë
The color to tint an image. The colors are given in the same manner as SolidVolor: RGB(¦). If
the alpha value is specified, the image can be made semi-transparent (0 means invisible, 255
mean fully opaque). Default value is white (255, 255, 255, 255) which in effect means "no
change".
! "
! " "
u 2
Ôlips the image. Valid values are:
i? 1/1(
i? 0/cu/1ë¦*
i? $(cëu¦*
i? /ë0 - flips both horizontally and vertically
u c
Rotates an image by the defined number of
. ½egative numbers rotate counter-clockwise.
Defines the margins for the background image that are not scaled when the BackgroundMode is
set to 3. E.g. BackgroundMargins=10,10,10,10
+
If the background mode is set to 2, this defines the color of the background.
+
If the background mode is set to 2, this defines a second color for the background to create a
gradient.
4 ¦
If the background mode is set to 2, this defines the angle for the color gradient. The angle is
defined in degrees.
.ë
If the background mode is set to 2, this draws a beveled edge around the solid background.
i? - ½o bevel
i? , - Raised
i? - Sunken
Other Settings
5
The time between updates for the measures and meters. The value should be given in
milliseconds. The default value is 1000 (i.e. once per second). ¦ setting of -1 will "disable"
ongoing updating for the skin, so it will only update once, on load or refresh.
ë
5
The update time for the meter transitions. When a transition is active (i.e. a meter which supports
transitions is changing its value) the redraw rate of the window will be set to this value. The
value should be given in milliseconds. The default value is 100.
Defines the area from where the window can be dragged. You need to define 4 values separated
with comma. The values define the margin of non-draggable area. It's also possible to use
negative numbers in which case the margin is calculated from the opposite side. E.g.
DragMargins=0,-100,0,0
/c
¦
Executes a command or !bang that is executed when the config is refreshed. This includes when
the config is opened the first time.
¦
The name and email of the author of the skin.
¦$
The minimum version of Rainmeter that is needed by this skin. If you specify an ¦ppVersion in
your skin, and the version of Rainmeter being used by the end user is not equal to or greater than
the version number in ¦ppVersion, the end user will be prompted to upgrade.
It is not necessary to define this if you don't want to, however it should be noted that if your skin
uses features or settings not available in the version of Rainmeter the end user is running, the
skin may fail to operate correctly. ¦ppVersion is a single number that can be calculated like this:
Major * 1000000 Minor1 * 1000 Minor2. E.g. the value for Rainmeter 2.0 would be
1000000 and Rainmeter 2.1 would be 2001000.
R
ainmeter]
ÑocalFont=#CU ëPAëH#\ëheSaBdCp.ttf
SomeMeter]
Meter=SëI
FontFace=ëheSansBold-Caps
Be aware that the filename of a font is almost never the same as the fontface name used in the
FontFace= statement. It is the skin author's repsonsibility to ensure the correct ÔontÔace name is
used. Details on using fonts with Rainmeter can be found at ¦ ½ote on Ôonts.
[Metadata]
This section contains information about the skin itself. ¦lone, metadata is useful as a consistent
and reliable place to learn about a skin, and how it is meant to be used and configured. In
addition, addons like RainBrowser can take advantage of metadata to enable more sophisticated
skin management features.
It is important for all metadata to be written in the [Metadata] section using a specific set of keys.
¦ template is provided below. ¦s a skin developer, you should provide appropriate values for all
of these keys.
1 =Title | Subtitle
!
=Root Skin Ôolder | Subfolders | Vurrent Ôolder
!
[&
= oint 1 | oint 2 | oint 3
o
'
(
u
= oint 1 | oint 2 | oint 3
)
'
(
$
=2.0
!
ë
=Tag 1 | Tag 2 | Tag 3
!
"
(
*
*
=Vreative Vommons ¦ttribution-½on-Vommercial-Share ¦like 3.0
!+
$ =1
,
#.=SKI½S ¦THMyVonfig\Images\ reviews\ review.png
-
[Variables]
The variables are keywords that are replaced in other settings. These can be used, e.g., to gather
user defined values to the top of the config-file so that they can be easily changed. To define a
variable, you must set a value for it in the [Variables] section of a skin or @Include file. To use a
variable in a meter or measure, just surround the keyword with characters.
So to set a variable for the size of the font you want to use on all your meters you might use:
Variables]
Size=11
Then in every meter displaying text, you could set the parameter:
SomeMeter]
FontSize=#Size#
1&ë
. .
c ë
&Built-in Variables.
Dynamic Variables
By setting DynamicVariables=1 in a measure or meter, variables that have had their values
changed by the "!RainmeterSetVariable" !bang can be read by that measure or meter.
¦dditionally, if dynamic variables are turned on, a measure's name can be used as a variable to
use its current value elsewhere. Measure values are encased by [square brackets]. Dynamic
Variables can be used in any measure or meter, but not in the [Rainmeter] or [Variables]
sections.
½ There is also currently no support for Dynamic Variables in plugins, such as Web arser or
Quote lugin.
R
ainmeter]
Update=1000
DynamicWindowSize=1
Variables]
Width=100
MeasureCalc]
Measure=Calc
Formula=Counter%100
Square1]
Meter=Image
SolidColor=255,0,0
W=#Width#
H=50
Mouse verAction=!ainmeterSetVariable Width 200
DynamicVariables=1
Square2]
Meter=Image
SolidColor=0,0,255
W=MeasureCalc]
H=50
Y=
DynamicVariables=1
In this example, Square1 would show a red 100x50 pixel box. When the mouse is place over the
box, it grows to 200x50 as the variable is changed. Square2 shows a blue box that is 50 pixels
tall and continuously grows from 0 to 100 pixels wide as it gets its width from the value of
MeasureValc.
@Include
Loads an external file in the .ini format so an author can have skin, config, suite or Rainmeter-
wide variables, or even shared measures. The loaded file is treated as if the contents were
included in the actual skin .ini file. The path used is relative to the current .ini file.
The @include statement must be used under some section (i.e. it cannot be the first thing in the
file). Most often it is used in the [Variables] section of a skin, to allow sharing of common
variables between skins. If there are multiple included files within the same section of the .ini
file, each @include statement should be numbered as follows:
@include1=...
@include2=...
@include3=...
etc...
Remember that since the included file is being treated as part of the .ini file, it must also have the
proper .ini formatting (i.e. section] parameter=value). If the included file is not itself a fully
working skin, then it should not use the .ini extension. Doing so may cause issues with
Rainmeter's context menu, as well as some third-party applications. ¦ common alternative is the
.inc extension
The included file is read at the position where the @include is defined so the values from the
included file with the same name as those from the .ini file will overwrite the values from
previous sections and vice versa.
o
. "
R
IncludedÔile.inc:
Variables]
FontColor=255,255,255,255
HostSkin.ini:
Variables]
FontFace=Arial
@Include=IncludedFile.inc
Mouse ¦ctions
Mouse actions are commands you add to a meter (or the [Rainmeter] section in two cases) to
have Rainmeter take some action when the mouse interacts with the meter. You can have
Rainmeter run a built-in !Bang, several !Bangs at once, or even execute some external command.
½ When using a mouse action on a string meter or image meter with transparency, you must
click exactly on the meter text or image, as the transparent areas do not react to clicks. This can
be solved by adding SolidColor=0,0,0,1 to the meter, which will create an near-invisible but
solid background behind the meter element.
How an action is formatted varies somewhat depending on which !Bang is being used, or what
an external application expects. The rules are available at the Bangs page.
c
¦
¦ command or a bang that will be executed when the right mouse button is pressed down over
the Rainmeter's window. ½ote that this disables the context menu.
¦
¦ command or a bang that will be executed when the middle mouse button is pressed down over
the Rainmeter's window.
*
5¦
¦ command or a bang that will be executed when the left mouse button is released over the
Rainmeter's window.
c
5¦
¦ command or a bang that will be executed when the right mouse button is released over the
Rainmeter's window. ½ote that this disables the context menu.
5¦
¦ command or a bang that will be executed when the middle mouse button is released over the
Rainmeter's window.
*
'¦
¦ command or a bang that will be executed when the left mouse button is Double Vlicked on the
Rainmeter's window. (if this action is missing, LeftMouseDown¦ction will be executed)
c
'¦
¦ command or a bang that will be executed when the right mouse button is Double Vlicked on
the Rainmeter's window. ½ote that this disables the context menu.
'¦
¦ command or a bang that will be executed when the middle mouse button is Double Vlicked on
the Rainmeter's window.
* .¦
¦ command or a bang that will be executed when the mouse leaves the Skin or Meter.
¦
When set to 1 (which is the default), Rainmeter will change the cursor to a pointer if it is over a
meter with a mouse action or a button.
The default for a specific skin can be set to 0 by putting MouseActionCursor=0 in the
[Rainmeter] section of the skin. This can then be overridden on a meter by meter basis with
MouseActionCursor=1.
½ If you have a meter or button with a mouse action, and there is a meter (text or image) on
TO of it, you will need to set MouseActionCursor=0 on the foreground meter, even if it does
not have a mouse action, or the action will not be seen on the background meter/button and the
cursor will not change. MouseActionCursor=0 causes the "cursor" routines to ignore a meter,
and the action on the background meter/button will then be detected.
Meter/Measure Groups
Measures and meters can be categorized into groups. To add a measure or meter to a group,
simply add the roup= statement to the section. ¦ny number of groups may be added to a
section, all of which must be separated by a vertical bar (i.e. "|"). These groups can then be
controlled through the following bangs:
i? c +4 64 78
Show all meters in the group.
i? c 04 64 78
Hide all meters in the group.
i? c ë4 64 78
Toggle all meters in the group.
i? c (
4 64 78
Enable all measures in the group.
i? c
4 64 78
Disable all measures in the group.
i? c ë
4 64 78
Toggle all measures in the group.
R
In this example, both of the meters belong to the "V " group. Then, MeterV Text also
belongs to the "Strings" group and MeterV Bar in turn belongs to the "Bars" group.
MeterCPUëext]
Meter=String
Measureame=MeasureCPU
roup=CPU | Strings
MeterCPUBar]
Meter=Bar
Measureame=MeasureCPU
roup=CPU | Bars
Measures
Measures are sections that determine what information Rainmeter should retrieve. Within a .ini
file, names for measures must be unique and they must not have spaces. The meters use these
section names to bind to the measures and display the results.
½ Some meters require a range of values (B¦R, HISTOGR¦M, etc) so that they can display
the measured value as relative to the minimum and maximum values. ½ot all measures are able
to calculate the minimum and maximum value automatically so you need to do that manually
with MinValue and MaxValue.
R
Measureëime]
Measure=ëime
Format=%H:%M
MeasurePhysMemëotal]
Measure=PhysicalMemory
ëotal=1
UpdateDivider=2
MeasureFreeDriveSpace]
Measure=FreeDiskSpace
Drive=C:
Ignoreemovable=0
UpdateDivider=2
General Settings
These general settings apply to all measure types.
This defines what is measured. The valid values are:
u.
If set to 1, the measured value is inverted. Ôor example, you can measure the allocated disk space
instead of free space.
If set to 1, the measure is disabled at start. ¦ disabled measure always returns zero as its value.
5 .
This value modifies the update rate of the measure. The global pdate value (set in the
[Rainmeter] section) is multiplied by this number to determine the update rate for the measure.
Ôor example, if the Update=1000 and UpdateDivider=30, the measure is updated every 30
seconds. The default value is 1. ¦ setting of -1 will disable ongoing updates for the measure, so
it will only be executed once on load or refresh.
)$
The maximum value the measure can have. The default is 1.0.
$
The minimum value the measure can have. The default is 0.0.
+
¦ list of comma separated value pairs that can be used to change certain values to another. You
must use quotes around the values! E.g. Substitute="cat":"dog" would change all "cat" to
"dogs" in the measured value.
You may substitute quote characters in Substitute= statements. This is done by using single
quotes to surround the first part of the "find":"replace" pair. So Substitute='"':"" would
remove all quotes from the text.
½ Single and double quotes MST be "mismatched" on the "find:replace" pairs when using
single quotes as a delimiter, or the Substitute will fail. Example: Substitute='"':"one" will
replace a quote with the word ½one. Substitute="one":'"' will replace the word ½one with
a quote. However, Substitute='"':'one' will fail, as you can't use single quotes on both
sides of the "find:replace" pairs. ¦n easier to read example is Substitute='red':'blue',
which will fail.
¦. +
Defines the window size of average measuring. Ôor example, when AverageSize=10, the
returned value is the average of last ten values.
Measure If¦ctions
Measure If¦ctions are commands you add to a measure to have Rainmeter take some action
when a defined "above/equal/below" threshold value is returned by the measure. You can have
Rainmeter run a built-in !Bang, several !Bangs at once, or even execute some external command.
How an action is formatted varies somewhat depending on which !Bang is being used, or what
an external application expects. The rules can be found at the Bangs page.
u ¦
.¦
¦ bang or command that is executed when the measure goes above the value defined in
If¦boveValue. The action is executed only at the moment when the measure exceeds the value,
so it needs to go below the defined value before the action is executed again.
u ¦
.$
The value used by If¦bove¦ction.
u ¦
¦ bang or command that is executed when the measure goes below the value defined in
IfBelowValue. The action is executed only at the moment when the measure falls below the
value, so it needs to go above the defined value before the action is executed again.
u $
The value used by IfBelow¦ction.
u (9 ¦
¦ bang or command that is executed when the measure is equal with the value defined in
IfEqualValue. The action is executed only once when the measure is equal to the value, so it
needs to go above or below the defined value before the action is executed again. The value is
rounded to full integer.
u (9 $
The value used by IfEqual¦ction.
Example Skin
Valc Measure
The Valc measure is used to calculate formulas.
2
This defines the formula to be calculated. You can use the names of other measures as variables.
There is also a special variable called Vounter, which is incremented on every update. The
variables are updated only after all other measures are updated, so the values are always one
update cycle behind.
Operators
i? · (addition)
i? (substraction)
i? 6 (multiplication)
i? D (division)
i? 66 (power)
i? U (remainder or modulus)
i? > (bitwise and)
i? ] (bitwise or)
i? ë (bitwise xor)
i? w (bitwise not)
Logical Operators
i? § (not equal)
i? â (equal to)
i? (greater than)
i? § (less than)
i? >> (logical and)
i? ]] (logical or)
Ôunctions
i? ¦ë¦18 ¦+u18 ¦/+8 /+8 +u18 ë¦18 - Standard trigonometric functions
i? ¦+8 - ¦bsolute value of x.
i? ("#8 - Returns x.
i? */48 - Base 10 logarithm of x.
i? *18 - ½atural logarithm of x.
i? +:cë8 - Square root of x.
i? +418 - Return 1 if x is positive, -1 if x is negative.
i? 2c¦8 - Ôractional, or decimal, part (e.g. ÔR¦V(1.234) = 0.234).
i? ëc518 - Integer par (e.g. TR½V(1.234) = 1).
i? 2*//c8 - Ôloor of x.
i? (u*8 - Veiling of x.
i? c/518 6 7 - Rounds x to an integer, or to a specified number of decimal places.
recision is optional.
Vonstants
i? #u - i (~3.14159265...)
i? ( - Euler's constant (~2.71828182...)
Vonditional Operator
§ ? §
. : §
.
This will evaluate as being either true or false. If it is true, the expression to the left of
the colon (:) is evaluated. If it is false, the expression to the right is evaluated. This is equivalent
to the following if-then-else statement:
if ( )
then
/
else
/
end if
Random Ôunction
The word AD M returns a random number between the values of "LowBound" and
"HighBound" defined in the measure.
5 c
When Updateandom=1 a new random number is set on each update cycle. When
Updateandom=0 a random number is set on refresh.
Other Bases
The Valc measure allows numbers to be represented numbering systems other than decimal. To
use another base, prefix the number with a zero then the letter representing the system you wish
to use. The following are accepted prefixes, which are case (lower) sensitive:
Example Skin
V Measure
Returns the percentage used of the entire V or individual cores.
#
Van be set to the number (1, 2, ...) of the processor core to be measured. If set to 0 (default), the
average of all cores will be returned.
Example Skin
ÔreeDiskSpace Measure
ÔreeDiskSpace returns usage statistics for the selected drive.
.
This is the drive for which the disk space is measured. (eg: "V:")
ë
If set to 1 this returns the total size of the drive.
*
If set to 1 this returns the label of the drive.
uc.
If set to 1 (default), removable drives are ignored. If set to 0, removable drives are measured. Be
sure to set Ignoreemovable=0 if you want to measure a SB drive.
#0
1
20030
Example Skin
Memory
Measures the amount of virtual memory free in bytes. Virtual memory is equal to agefile
R¦M R¦M.
ë
If set to 1 this returns the total memory.
Example Skin
½etIn/Out Measures
Measures various types of network traffic.
½etIn
Measures incoming network traffic.
1u+
The maximum speed of your network connection input. The value is given in bits per second. If
this value is omitted or set to zero, the maximum value is determined from the input. Watch out
for peaks.
ë ¦
¦ction to be executed when a certain amount of data has been downloaded.
ë $
The value used by Traffic¦ction.
u
The index of the measured ½IV. If this is set to 0 (default) all interfaces are added together.
Value 1 means the first ½IV, 2 the second, etc.
.
If set to 1, the measure gathers cumulative value (i.e. adds the measured values together). This
can be used to measure the total amount of transferred data during certain period of time.
½etOut
Measures outgoing network traffic.
1/ +
The maximum speed of your network connection output. The value is given in bits per second. If
this value is omitted or set to zero, the maximum value is determined from the input.
ë ¦
¦ction to be executed when a certain amount of data has been uploaded.
ë $
The value for the Traffic¦ction.
u
The index of the measured ½IV. If this is set to 0 (default) all interfaces are added together.
Value 1 means the first ½IV, 2 the second, etc.
.
If set to 1, the measure gathers cumulative value (i.e. adds the measured values together). This
can be used to measure the total amount of transferred data during certain timeperiod.
½etTotal
Measures total network traffic.
1ë +
The maximum speed of your total network connection. The value is given in bits per second. If
this value is omitted or set to zero, the maximum value is determined from the input.
ë ¦
¦ction to be executed when a certain amount of data has been uploaded and downloaded.
ë $
The value for the Traffic¦ction.
u
The index of the measured ½IV. If this is set to 0 (default) all interfaces are added together.
Value 1 means the first ½IV, 2 the second, etc.
.
If set to 1, the measure gathers cumulative value (ie: adds the measured values together). This
can be used to measure the total amount of transferred data during a certain time period.
Example Skin
hysicalMemory Measure
Measures the amount of physical R¦M memory free in bytes.
ë
If set to 1 this returns the total physical memory.
Example Skin
lugin Measure
¦ plugin in Rainmeter is a dynamic link library (.dll) program specifically written to provide
additional functionality not built into Rainmeter. ¦ plugin is used in Rainmeter with the specific
measure type Measure= lugin. Each plugin in turn has its own settings that must be placed in
this section. See lugins to learn more on the plugins included with Rainmeter and what settings
are required for each.
You may also use a 3rd-party plugin developed for Rainmeter but not included with the
installation. Simply place the new plugin .dll file into the lugins folder under the location of
your Rainmeter.exe and the new plugin can be used like any of the default ones. ½ote: Be sure
that the 3rd-party plugin you add was compiled for the same architecture version of Rainmeter
(32bit or 64bit) as the version you are using. You may not use a 32bit plugin with 64bit
Rainmeter or a 64bit plugin with 32bit Rainmeter.
#
The path and name of the plugin relative to the program folder, where Rainmeter.exe is (e.g.
Plugin=Plugins\WebParser.dll).
Example Skin
Registry Measure
rovides a way to read data from the Windows Registry.
c03
The name of the HKEY. ossible values are:
i? 03(-;5cc(1ë;/12u4
i? 03(-;5cc(1ë;5+(c
i? 03(-;*/¦*;¦0u1(
i? 03(-;*¦++(+;c//ë
i? 03(-;#(c2/c¦1(;¦ë¦
i? 03(-;-1;¦ë¦
c3
The name of the registry key.
c$
The name of the registry key's value. Only string and long values are supported.
½umeric string values from the registry can be used as a number if you convert them with a
Measure=Valc.
Measureegistry]
Measure=egistry
...
MeasureStringëoum]
Measure=Calc
Formula=Measureegistry]
MinValue=0
MaxValue=100
DynamicVariables=1
Example Skin
SwapMemory Measure
Measures the amount of virtual (swap) memory free in bytes.
ë
If set to 1 this returns the total swap memory.
Example Skin
Time Measure
Measures the current time/date.
2
The format how the time is written (e.g. Format="%H:%M:%S").
You can also use "locale-time" and "locale-date" to use the format that is used currently in
Windows.
ë
The timezone value (e.g. ëimeZone=+2.0). You can use also fractional values. If this is not given
the local time is used.
+ .ë
If set to 1, the daylight saving time is applied to the time (it depends on your local time). This is
only used if the TimeZone has been set.
Ôormat codes
Ôull details on Time/Date formatting codes can be found at msdn.microsoft.com.
Example Skin
pTime Measure
Returns the amount of time since the last restart of the computer.
2
Ôormat to display the output. The default is Format="%4!i!d %3!i!:%2!02i!".
i? U - Days
i? U - Hours
i? U - Minutes
i? U, - Seconds
i? - utting this after the format code shows the numbers with no leading zeros
i? - utting this after the format code shows the numbers with leading zeros
½ If %4 (days) is not included in the Ôormat= statement then days * 24 are added to %3
(hours).
Example Skin
Meters
Meters are the sections that tell Rainmeter how to display information. Each meter needs to have
a unique name, which should be put inside [Square Brackets]. It does not matter what the name
is as long as there are no spaces and it is not used elsewhere within the same.ini file.
Meters by default are evaluated and displayed in the order they are in the skin .ini file. Settings
like W= and H= and X= and Y= can be used to size and position meters in the context of the skin
containng them. So a meter with a setting of X=0 will be positioned 0 pixels from the left edge of
the skin it is in. If you drag the entire skin to another location, the meter will remain positioned 0
pixels from the left edge of the skin, irregardless of where the skin is on the screen.
There are many different types of supported meter types in Rainmeter. The manual pages for
each describe them in detail, with settings specific to each type.
Example Skin
General Settings
The following are setting which apply to all meter types.
Indicates the type of the meter. The valid values are:
i? ¦c
i? uë¦#
i? 5ëë/1
i? 0u+ë/4c¦
i? u¦4(
i? *u1(
i? c/ë¦ë/c
i? c/51*u1(
i? +ëcu14
+
The name of a [Section] containing settings for meter attributes you wish to share with multiple
meters. See MeterStyles for details.
1
The name of the measure that this meter displays the returned value for. This setting is not
required if the meter is not going to use values from a measure, such as a String or Image meter
not needing information returned by a measure.
"
The X-position of the meter inside the window. The coordinates can be made relative to the
previous meter by adding 'r' to the end of the number (e.g. X=5r). You can also use capital R
which makes the position relative to the right edge of the previous meter.
-
The Y-position of the meter inside the window. The coordinates can be made relative to the
previous meter by adding 'r' to the end of the number (e.g. Y=-10r). You can also use capital R
which makes the position relative to the bottom edge of the previous meter.
!
The width of the meter. It is not necessary to define this if the width can be calculated from an
image or if you are using a STRI½G meter. If you use the desktop as background for the
Rainmeter you should always define the correct height and width for the meters or the window's
dimensions might be calculated incorrectly.
0
The height of the meter. This can also be left undefined under the same conditions as W.
½ You can use math formulas with X, Y, W and H. In that case the value must be surrounded
with parenthesis (e.g. Y=(300/3)).
0
If set to 1, the meter is hidden.
5 .
This value modifies the update rate of the meter. The global pdate value (set in the [Rainmeter]
section) is multiplied by this number to determine the update rate for the meter. Ôor example, if
the pdate is set to 1000 and the pdateDivider is 30, the meter is updated every 30 seconds.
The default value is 1.
+
The color of the meter's background. The value is given in RGB(¦) format: Red, Green, Blue
and an optional ¦lpha value. It can be written either as 3 or 4 comma-separated values from 0 to
255 (e.g. SolidColor=255,0,0,128), or in hexadecimal format (e.g. SolidColor=FF000080). If
it is not set, the background is completely transparent.
+
¦n optional second color for the meter's background to create a gradient. This follows the same
format as SolidVolor.
4 ¦
The angle of the meter's background color gradient. The angle is defined in degrees.
.ë
This draws a beveled edge around the solid background.
i? - ½o bevel (Default)
i? , - Raised
i? - Sunken
¦¦
Volor Vodes
Rainmeter uses colors in the settings of many different meters.
i? ÔontVolor
i? ÔontEffectVolor
i? SolidVolor
i? rimaryVolor
i? SecondaryVolor
i? BothVolor
i? BarVolor
i? LineVolor
i? HorizontalLineVolor
Volor codes in Rainmeter are based on RGB¦, which stands for red, green, blue, and alpha. The
values can be entered either using a set of four numbers ranging from 0 to 255 in either decimal
or hexadecimal form.
½ If you use an alpha of 0, then the element using he color will not only be invisible, but will
not be seen by Rainmeter at all for the purpose of mouse actions. If you want a meter to be
invisible but still seen by Rainmeter, use an alpha of 1.
¦ online color picking tool which will provide the RGB and HEX codes for a color can be found
at Volor icker.com.
Examples:
Solid opaque red is 255,0,0,255 or FF0000FF
Solid opaque blue is 0,0,255,255 or 0000FFFF
Solid opaque grey is 128,128,128,255 or 808080FF
Half-transparent green is 0,255,0,128 or 00FF0080
MeterStyle
This allows you to create VSS-like "Styles" for meters. The current meter will use the settings
from the specified style as its own. ¦ "Style" is really just another section, however it is not
necessarily a meter or measure. ¦ meter will, basically, inherit all values from the specified
styles. Multiple styles can be used by separating them with a pipe (i.e. Style1 | Style2 |
...).
Example Skin
"
Even better results can be had with a font conversion tool like ÔontÔorge, but this must be run in
a unix environment and while it can be done with the VygWin unix-in-windows utility, this is
½OT for the faint of heart or new Windows user.
i? You must use the "Ôamily ½ame" of the font. This can be found by double clicking the font .ttf
file and at the very top in the Windows font viewer see the "Ôont ½ame:" at the top left. ½ow,
this also has a "gotcha". Many fonts have subfamily names that are appended on the "Ôamily
½ame" in Windows font viewer. The Ôont ½ame: may be MyÔont-Bold or MyÔont Bold or
MyÔont BoldItalic" You should not use these subfamily postfixes when identifying the font in
Rainmeter with ÔontÔace=xxx. This can involve a bit of trial and error, but in this example
ÔontÔace=MyÔont is the mostly likely correct entry.
i? Most, but not ¦LL fonts can be modified at run time in Rainmeter with StringStyle, StringEffect,
etc. If you have problems with a font using these settings, try removing them to see if that is the
issue.
i? There are a couple of ways Rainmeter will react if it hates your font for some reason.
It may give no error, but display the default ¦rial instead of your font. This will be what happens
if you use a .otf font, or if you use the wrong "Ôamily ½ame" for the font.
It gives an error, like "Van't create font" and the meter fails entirely. This generally means you
have used an attribute like StringStyle=Bold on a font that doesn't support it, or there is just a
problem with the font itself that causes Rainmeter to fail in loading / using it.
o6'1!
,
"
Meterame]
Meter=String
FontFace=MyInstalledFont
sing LocalÔont
lace the actual .ttf font file in a folder. se the LocalÔont=" ath\Ôile½ame.ttf" statement in the
[Rainmeter] section of your skin. Then use the Ôamily ½ame in ÔontÔace=xxx as you normally
would.
o
# 7
8
# $9" # %9
ainmeter]
ÑocalFont="#CU ëPAëH#SomeFont.ttf
Meterame]
Meter=String
FontFace=MyÑocalFont
Example Skin
Mouse ¦ctions
Mouse actions are commands you add to a meter (or the [Rainmeter] section in two cases) to
have Rainmeter take some action when the mouse interacts with the meter. You can have
Rainmeter run a built-in !Bang, several !Bangs at once, or even execute some external command.
½ When using a mouse action on a string meter or image meter with transparency, you must
click exactly on the meter text or image, as the transparent areas do not react to clicks. This can
be solved by adding SolidColor=0,0,0,1 to the meter, which will create an near-invisible but
solid background behind the meter element.
How an action is formatted varies somewhat depending on which !Bang is being used, or what
an external application expects. The rules are available at the Bangs page.
c
¦
¦ command or a bang that will be executed when the right mouse button is pressed down over
the Rainmeter's window. ½ote that this disables the context menu.
¦
¦ command or a bang that will be executed when the middle mouse button is pressed down over
the Rainmeter's window.
*
5¦
¦ command or a bang that will be executed when the left mouse button is released over the
Rainmeter's window.
c
5¦
¦ command or a bang that will be executed when the right mouse button is released over the
Rainmeter's window. ½ote that this disables the context menu.
5¦
¦ command or a bang that will be executed when the middle mouse button is released over the
Rainmeter's window.
*
'¦
¦ command or a bang that will be executed when the left mouse button is Double Vlicked on the
Rainmeter's window. (if this action is missing, LeftMouseDown¦ction will be executed)
c
'¦
¦ command or a bang that will be executed when the right mouse button is Double Vlicked on
the Rainmeter's window. ½ote that this disables the context menu.
'¦
¦ command or a bang that will be executed when the middle mouse button is Double Vlicked on
the Rainmeter's window.
* .¦
¦ command or a bang that will be executed when the mouse leaves the Skin or Meter.
¦
When set to 1 (which is the default), Rainmeter will change the cursor to a pointer if it is over a
meter with a mouse action or a button.
The default for a specific skin can be set to 0 by putting MouseActionCursor=0 in the
[Rainmeter] section of the skin. This can then be overridden on a meter by meter basis with
MouseActionCursor=1.
½ If you have a meter or button with a mouse action, and there is a meter (text or image) on
TO of it, you will need to set MouseActionCursor=0 on the foreground meter, even if it does
not have a mouse action, or the action will not be seen on the background meter/button and the
cursor will not change. MouseActionCursor=0 causes the "cursor" routines to ignore a meter,
and the action on the background meter/button will then be detected.
ToolTips
This creates a ToolTip which appears when you hover the mouse over the meter. You must be
careful not to overlap two meters with ToolTips as both will be displayed if the mouse is over
both at the same time.
ëëë) (required)
The text you wish displayed. This can include Dynamic Variables and Measures as long as
DynamicVariables=1 is set. If you wish to spread the text across multiple lines, add the built-in
variable VRLÔ at the point you want a line break. This setting
be defined to use a
ToolTip.
ToolTip can use values of Measure½ame in the form %1, %2 etc. as appropriate for various
meter types:
Line, String: %1, %2, %3, ...
Histogram: %1, %2
Others: %1
ëëë (optional)
This sets a bold title for the ToolTip. This can only be one line, so VRLÔ will not work here.
ëëu (optional)
This specifies an Icon to be placed in the ToolTip. This can be the full path to a .ico file or one of
these preset icons:
i? u12/
i? !¦c1u14
i? (cc/c
i? :5(+ëu/1
i? +0u(*[ ,
3
&
ëëë (optional)
This defines the style of the ToolTip, by default, this is 0, a regular ToolTip. If set to 1 the
ToolTip will appear as a balloon.
ëë! (optional)
This allows you to specify the maximum width of a ToolTip. When the width is reached, the text
will automatically wrap. The default is 1000 pixels.
½ ¦s a ToolTipTitle cannot be wrapped, do not set this width less than the length of the title,
or there could be unexpected results.
ëë0 (optional)
If set to 1, the ToolTip is not displayed. ToolTipHidden can also be used in the [Rainmeter]
section to show and hide all ToolTips in an entire skin.
Transformation Matrix
This defines a 3x2 matrix which can be used to transform the meter. There must be exactly 6
values separated by semicolons (e.g. ëransformationMatrix=1;0;0;1;0;0). The values
a;b;c;d;e;f correspond to the following matrix:
|a c e|
|b d f|
In short, the values have the following effects:
i? - Scale horizontally
i?
- Skew along the y-axis
i? - Scale vertically
i? - Skew along the x-axis
i? - Translate (i.e. move) horizontally
i? - Translate vertically
Vombining these can have drastic effects on the meter it is applied to. Ôor more comprehensivev
information on TransformationMatrix, read this forum thread.
The following are some examples showing the actual matrix and the corresponding
TransformationMatrix values:
½ ¦ll transformations are relative to the top left corner of the and not to the meter
itself. So if you want to rotate the meter by its center the translation component in the matrix
must be relative to the top left corner of the window.
¦lso note that the even if the meter's visual location and orientation is changed by the
transformation the place where it would be located without the transformation will still be used
to define the window size and register the mouse clicks. This might change in the future though.
Bar Meter
Bar meters display the value of a measure in a single vertical or horizontal bar. The amount the
bar is filled corresponds to the relative value of the measure. Bar graphs require that the measure
being used is from 0.0 to 1.0 or has both MaxValue and MinValue set.
Vhanges to the bitmap are applied in the following order: ImageVrop -> GreyScale -> ImageTint
-> ImageÔlip -> ImageRotate.
The color of the bar. The colors are given in the same manner as with SolidVolor: RGB(¦).
u
The image that is used behind the bar. This can be used instead of the BarVolor.
If an image is used, this determines the number of pixels on either side of the image that are
always drawn (i.e. top and bottom margins for vertical bars, left and right margins for horizontal
bars).
u
Vrops the image. The parameters are ImageCrop=X, Y, W, H, rigin. Origin is optional and
can be set to one of the following:
i? , - Top left
i? - Top right
i? - Bottom right
i? - Bottom left
i? - Venter (both W and H)
4
If set to 1, the image will be greyscaled.
u ë
The color to tint an image. The colors are given in the same manner as SolidVolor: RGB(¦). If
the alpha value is specified, the image can be made semi-transparent (0 means invisible, 255
mean fully opaque). Default value is white (255, 255, 255, 255) which in effect means "no
change".
½ If you combine Greyscale and ImageTint you "recolor" the image to the defined color, if
you use ImageTint alone, you "add" the defined color to the image, creating a "tint".
u 2
Values are ½O½E, HORIZO½T¦L, VERTIV¦L or BOTH.
u c
Rotates an image by the defined number of
. ½egative numbers rotate counter-clockwise.
)½
The VolorMatrix parameter represents a 5x5 matrix used to manipulate the color values of the
image. It is divided into five separate parameters, one for each row, each numbered. The default
matrix is as follows:
ColorMatrix1=1; 0; 0; 0; 0
ColorMatrix2=0; 1; 0; 0; 0
ColorMatrix3=0; 0; 1; 0; 0
ColorMatrix4=0; 0; 0; 1; 0
ColorMatrix5=0; 0; 0; 0; 1
The values on the main diagonal are, from top-left to bottom-right: Red, Green, Blue, ¦lpha and
a placeholder. The values represent the percentage of of the particular value present in the image,
where 0.0 is none and 1.0 is normal. The remaining entries in the matrix allow a color to have its
value modified in terms of another color (ex: the value of Red might have half of the Blue value
added), with the entries in the final row (VolorMatrix5) determining offset values that are added
directly to the color. (ex: VolorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More
information on VolorMatrix is available at VolorMatrix nleashed.
u ¦
Vhange the opacity of the image. Values range from 0 to 255, where 0 is completely invisible
and 255 is completely opaque. If set, this value will override the ¦lpha parameter in the
ImageTint setting.
/
The orientation of the bar. Valid values are HORIZO½T¦L or VERTIV¦L.
2
Set to 1 to flip the direction of the bar.
Example Skin
Bitmap Meter
The Bitmap meter takes an image and divides it into equally-sized frames. Each frame is shown
as the relative value of the measure attached to it reaches the relative position of the pieces. Ôor
example, if the image a strip of 5 images, when the measure is between 0% and 19% the first
frame is shown, from 20 to 39% the second frame is show, and so on. Bitmaps are often used
with counters to display animations, or are used to show stylized numbers.
Vhanges to the bitmap are applied in the following order: GreyScale -> ImageTint -> ImageÔlip.
u
This is the name of the image that holds the image frames. The images can be laid horizontally
or vertically in the bitmap. The orientation is determined automatically form the height or the
width of the bitmap (whichever is larger). ¦lso, the size of one frame is calculated automatically
so you need to crop the image so that there is no extra space around the frames. The image can
be any supported format: bmp, gif, jpg or png. If BitmapExtend is not 1, then bitmap meters
require that the measure being used is from 0.0 to 1.0 or has both MaxValue and MinValue set.
2
ë
2
The number of transition frames per value. The transition frames are frames which are displayed
when the meter's value changes. The same number of transition frames must be used after each
regular frame. The Transitionpdate setting in the [Rainmeter] section determines the rate at
which the frames are displayed during the transition. The total duration of the transition
animation is therefore Transitionpdate * BitmapTransitionÔrames. ½ote that BitmapÔrames
will always define the total number of frames in the bitmap, including the transition frames. So,
for example, if the bitmap has 10 values and each transition consists of 4 additional frames, then
BitmapÔrames should be set to 50 and BitmapTransitionÔrames to 4.
2
If set to 1, the first frame is used only when the measured value is zero. Otherwise the frames are
linearly determined by the measured value.
()
If set to 1 the bitmap is extended so display the whole value. Ôor example if you define a bitmap
that defines frames from 0 to 9 you can use this to display the measured value as the bitmap
numbers.
½umber of digits that are drawn. The first frame is used if the value doesn't have as many digits
as this defines. Works only when BitmapExtend is set to 1.
¦
Defines the alignment of the bitmap value. Valid values are LEÔT, VE½TER and RIGHT.
Works only when BitmapExtend is set to 1.
+
Separation between digits when BitmapDigits is higher than one. This can also be a negative
number.
u ë
The color to tint an image. The colors are given in the same manner as SolidVolor: RGB(¦). If
the alpha value is specified, the image can be made semi-transparent (0 means invisible, 255
mean fully opaque). Default value is white (255, 255, 255, 255) which in effect means "no
change".
½ If you combine Greyscale and ImageTint you "recolor" the image to the defined color, if
you use ImageTint alone, you "add" the defined color to the image, creating a "tint".
u 2
Values are ½O½E, HORIZO½T¦L, VERTIV¦L or BOTH.
)½
The VolorMatrix parameter represents a 5x5 matrix used to manipulate the color values of the
image. It is divided into five separate parameters, one for each row, each numbered. The default
matrix is as follows:
ColorMatrix1=1; 0; 0; 0; 0
ColorMatrix2=0; 1; 0; 0; 0
ColorMatrix3=0; 0; 1; 0; 0
ColorMatrix4=0; 0; 0; 1; 0
ColorMatrix5=0; 0; 0; 0; 1
The values on the main diagonal are, from top-left to bottom-right: Red, Green, Blue, ¦lpha and
a placeholder. The values represent the percentage of of the particular value present in the image,
where 0.0 is none and 1.0 is normal. The remaining entries in the matrix allow a color to have its
value modified in terms of another color (ex: the value of Red might have half of the Blue value
added), with the entries in the final row (VolorMatrix5) determining offset values that are added
directly to the color. (ex: VolorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More
information on VolorMatrix is available at VolorMatrix nleashed.
u ¦
Vhange the opacity of the image. Values range from 0 to 255, where 0 is completely invisible
and 255 is completely opaque. If set, this value will override the ¦lpha parameter in the
ImageTint setting.
Example Skin
Button Meter
The button meter cannot be bound to any measure. Its entire purpose is to make the creation of
buttons easier. ¦ button can display a normal, clicked and hover state of an image and perform
an action automatically.
Vhanges to the button image are applied in the following order: GreyScale -> ImageTint ->
ImageÔlip.
u
The name of the button image. The image must have 3 frames which can be set either
horizontally or vertically (the orientation is determined by the width and height of the image).
The first frame corresponds to he button's normal image. The second frame is shown when the
button is clicked. The third frame is shown while the mouse is hovering over the button. More
information on creating the bitmap images for buttons at Vreating a Button Image.
The command or !bang that is executed when the button is pressed.
4
If set to 1, the image will be greyscaled.
u ë
The color to tint an image. The colors are given in the same manner as SolidVolor: RGB(¦). If
the alpha value is specified, the image can be made semi-transparent (0 means invisible, 255
mean fully opaque). Default value is white (255, 255, 255, 255) which in effect means "no
change".
½ If you combine Greyscale and ImageTint you "recolor" the image to the defined color, if
you use ImageTint alone, you "add" the defined color to the image, creating a "tint".
u 2
Values are ½O½E, HORIZO½T¦L, VERTIV¦L or BOTH.
)½
The VolorMatrix parameter represents a 5x5 matrix used to manipulate the color values of the
image. It is divided into five separate parameters, one for each row, each numbered. The default
matrix is as follows:
ColorMatrix1=1; 0; 0; 0; 0
ColorMatrix2=0; 1; 0; 0; 0
ColorMatrix3=0; 0; 1; 0; 0
ColorMatrix4=0; 0; 0; 1; 0
ColorMatrix5=0; 0; 0; 0; 1
The values on the main diagonal are, from top-left to bottom-right: Red, Green, Blue, ¦lpha and
a placeholder. The values represent the percentage of of the particular value present in the image,
where 0.0 is none and 1.0 is normal. The remaining entries in the matrix allow a color to have its
value modified in terms of another color (ex: the value of Red might have half of the Blue value
added), with the entries in the final row (VolorMatrix5) determining offset values that are added
directly to the color. (ex: VolorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More
information on VolorMatrix is available at VolorMatrix nleashed.
u ¦
Vhange the opacity of the image. Values range from 0 to 255, where 0 is completely invisible
and 255 is completely opaque. If set, this value will override the ¦lpha parameter in the
ImageTint setting.
Example Skin
Histogram Meter
Histograms display values using vertical bars - once per update - on a graph. They require that
the measure being used ranges from 0.0 to 1.0 or has both MaxValue and MinValue set.
Vhanges to the images are applied in the following order: ImageVrop -> GreyScale -> ImageTint
-> ImageÔlip -> ImageRotate.
+
1 or
1
The name of the secondary measure. This defines the measure for the secondary histogram that is
drawn on the same meter. It is not necessary to define this if the other meter is not needed.
#
Volor for the primary histogram. The colors are given in the same manner as with SolidVolor.
+
Volor for the secondary histogram.
Volor that is used when the primary and secondary histograms are on top of each other.
# u
½ame of the image that is used behind the secondary histogram. You can use either colors or
images but not both at the same time. So, if you define rimaryImage you must also define
SecondaryImage and BothImage if you have a secondary measure in the same histogram, ½ot
SecondaryVolor or BothVolor.
+ u
½ame of the image that is used behind the secondary histogram.
u
½ame of the image that is used when the primary and secondary histograms are on top of
eachother.
# 4
, + 4
, 4
If set to 1, the image will be greyscaled.
½ If you combine Greyscale and ImageTint you "recolor" the image to the defined color, if
you use ImageTint alone, you "add" the defined color to the image, creating a "tint".
# u c , + u c , u c
Rotates an image by the defined number of
. ½egative numbers rotate counter-clockwise.
PrimaryColorMatrix1=1; 0; 0; 0; 0
PrimaryColorMatrix2=0; 1; 0; 0; 0
PrimaryColorMatrix3=0; 0; 1; 0; 0
PrimaryColorMatrix4=0; 0; 0; 1; 0
PrimaryColorMatrix5=0; 0; 0; 0; 1
The values on the main diagonal are, from top-left to bottom-right: Red, Green, Blue, ¦lpha and
a placeholder. The values represent the percentage of of the particular value present in the image,
where 0.0 is none and 1.0 is normal. The remaining entries in the matrix allow a color to have its
value modified in terms of another color (ex: the value of Red might have half of the Blue value
added), with the entries in the final row ( rimaryVolorMatrix5) determining offset values that
are added directly to the color. (ex: rimaryVolorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red
value). More information on VolorMatrix is available at VolorMatrix nleashed.
2
If set to 1 the meter is flipped upside-down.
Example Skin
Image Meter
The Image meter is used to show images. It does not necessarily need to be tied to a measure and
is often used just to display a specific image for aesthetic purposes. However, when used with a
measure, it will try to display the image whose filename corresponds to the value of the measure.
Vhanges to the image are done by applied in the following order: ImageVrop -> GreyScale ->
ImageTint -> ImageÔlip -> ImageRotate.
u 1
½ame of the image to be displayed. Image½ame can also be the result of values returned by one
or more measures:
Meter=IMA
Measureame=SomeMeasure
Measureame2=SomeMeasure2
Imageame=%1-%2.png
#
ath to the image. The path is relative to the skin's folder.
¦¦
If set to 1, the image has antialias interpolation routines applied to it when displayed.
#
.¦
c
If set to 1, the aspect ratio of the image is preserved when the image is scaled. Set to 0 by default.
i? You can specify both W and H with reserve¦spectRatio=0, and it will scale the image to the
exact specified size. ¦spect ratio is not preserved.
i? You can specify W or H alone with reserve¦spectRatio=1, and the image will be scaled to the
given value, with the other undefined "aspect" being automatically scaled to preserve the aspect
ratio.
i? You can specify both W and H with reserve¦spectRatio=1, and the image will be scaled by
using the larger of the width or height dimensions in the original image, setting that to the user
defined value, and setting the other "aspect" to what is needed to preserve the aspect ratio. That
way the image will be made to "fit" in the container defined by H and W even if the user doesn't
know if the image is originally "portrait" or "landscape" (tall or wide) from the source.
i? In all cases the image is "centered" in the meter defined by W and H. "Dead space" created by
preserving the aspect ratio (much like the black bars on your TV when you watch a widescreen
movie on a standard 4:3 screen) is transparent.
i? Image meters can use [Measure½ame] as the value of either W or H or both, and the image
scaling is done on each update of the measure used. This means that a refresh is not required to
resize an image and dynamic "zooming" of the image can be achieved by using measures to
change the size values.
u
Vrops the image. The parameters are ImageCrop=X, Y, W, H, rigin. Origin is optional and
can be set to one of the following:
i? , - Top left
i? - Top right
i? - Bottom right
i? - Bottom left
i? - Venter (both W and H)
+
¦llows a definition of margins on an image, where the image will not be scaled by the meter's W
and H settings.
4
If set to 1, the image will be greyscaled.
u ë
The color to tint an image. The colors are given in the same manner as SolidVolor: RGB(¦). If
the alpha value is specified, the image can be made semi-transparent (0 means invisible, 255
mean fully opaque). Default value is white (255, 255, 255, 255) which in effect means "no
change".
½ If you combine Greyscale and ImageTint you "recolor" the image to the defined color, if
you use ImageTint alone, you "add" the defined color to the image, creating a "tint".
u 2
Values are ½O½E, HORIZO½T¦L, VERTIV¦L or BOTH.
u c
Rotates an image by the defined number of
. ½egative numbers rotate counter-clockwise.
ë
Tiles (repeats) an image within the bounds set by W and H on the image meter.
)½
The VolorMatrix parameter represents a 5x5 matrix used to manipulate the color values of the
image. It is divided into five separate parameters, one for each row, each numbered. The default
matrix is as follows:
ColorMatrix1=1; 0; 0; 0; 0
ColorMatrix2=0; 1; 0; 0; 0
ColorMatrix3=0; 0; 1; 0; 0
ColorMatrix4=0; 0; 0; 1; 0
ColorMatrix5=0; 0; 0; 0; 1
The values on the main diagonal are, from top-left to bottom-right: Red, Green, Blue, ¦lpha and
a placeholder. The values represent the percentage of of the particular value present in the image,
where 0.0 is none and 1.0 is normal. The remaining entries in the matrix allow a color to have its
value modified in terms of another color (ex: the value of Red might have half of the Blue value
added), with the entries in the final row (VolorMatrix5) determining offset values that are added
directly to the color. (ex: VolorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More
information on VolorMatrix is available at VolorMatrix nleashed.
u ¦
Vhange the opacity of the image. Values range from 0 to 255, where 0 is completely invisible
and 255 is completely opaque. If set, this value will override the ¦lpha parameter in the
ImageTint setting.
Example Skin
Line Meter
The line meter shows the values of a measure as a graph with a line connecting each data point.
¦ny number of lines can be shown depicting as many measures with a single meter, all
overlapping. Line meters require that the measure being used is from 0.0 to 1.0 or has both
MaxValue and MinValue set.
*
½umber of lines in the meter. There can be any number of lines in the same meter. Settings with
½ in their name must have the number of the line being used to be defined. ½ote that the number
for the first line is never given (i.e. Measure½ame, LineVolor and Scale are all used for the first
line, with numbers added for subsequent lines).
1 ,
1 , ...
The name of the measure for the line ½.
¦ +
f set to 1, the lines are automatically scaled so that the largest value is visible in the meter. If set
to 0, the meter's scale is taken from the largest max value of the all of the measures used.
0 *
0 *
The color of the horizontal lines. The colors are given in the same manner as with SolidVolor:
RGB(¦).
*!
The width of the line in pixels.
2
If set to 1 the meter is flipped upside down.
Example Skin
Rotator Meter
The rotator meter displays an image that rotates around a point where the angle of rotation is
determined by the measure it is attached to. Rotator meters require that the measure being used is
from 0.0 to 1.0 or has both MaxValue and MinValue set.
Vhanges to the image are done by applied in the following order: ImageVrop -> GreyScale ->
ImageTint -> ImageÔlip -> ImageRotate.
u 1
½ame of the image to be rotated.
u
Vrops the image. The parameters are ImageCrop=X, Y, W, H, rigin. Origin is optional and
can be set to one of the following:
i? , - Top left
i? - Top right
i? - Bottom right
i? - Bottom left
i? - Venter (both W and H)
4
If set to 1, the image will be greyscaled.
u ë
The color to tint an image. The colors are given in the same manner as SolidVolor: RGB(¦). If
the alpha value is specified, the image can be made semi-transparent (0 means invisible, 255
mean fully opaque). Default value is white (255, 255, 255, 255) which in effect means "no
change".
½ If you combine Greyscale and ImageTint you "recolor" the image to the defined color, if
you use ImageTint alone, you "add" the defined color to the image, creating a "tint".
u 2
Values are ½O½E, HORIZO½T¦L, VERTIV¦L or BOTH.
u c
Rotates an image by the defined number of
. ½egative numbers rotate counter-clockwise.
)½
The VolorMatrix parameter represents a 5x5 matrix used to manipulate the color values of the
image. It is divided into five separate parameters, one for each row, each numbered. The default
matrix is as follows:
ColorMatrix1=1; 0; 0; 0; 0
ColorMatrix2=0; 1; 0; 0; 0
ColorMatrix3=0; 0; 1; 0; 0
ColorMatrix4=0; 0; 0; 1; 0
ColorMatrix5=0; 0; 0; 0; 1
The values on the main diagonal are, from top-left to bottom-right: Red, Green, Blue, ¦lpha and
a placeholder. The values represent the percentage of of the particular value present in the image,
where 0.0 is none and 1.0 is normal. The remaining entries in the matrix allow a color to have its
value modified in terms of another color (ex: the value of Red might have half of the Blue value
added), with the entries in the final row (VolorMatrix5) determining offset values that are added
directly to the color. (ex: VolorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More
information on VolorMatrix is available at VolorMatrix nleashed.
u ¦
Vhange the opacity of the image. Values range from 0 to 255, where 0 is completely invisible
and 255 is completely opaque. If set, this value will override the ¦lpha parameter in the
ImageTint setting.
/
"
X-offset of the center of rotation.
/
-
Y-offset of the center of rotation.
+ ¦
The start angle for the line. This is in radians and the zero angle at the right. The defualt rotation
direction is clockwise.
c ¦
The size of the rotation angle for the line. se negative value for counter-clockwise rotation.
$ c
se remainder instead of the actual measured value. This can be used to draw analog clock.
Example Skin
Roundline Meter
The roundline meter displays a single line that rotates around a point. The angle of the line is
determined by the measure. By default, the minimum position is pointing to the right, the line
then moves clockwise until it is pointing to the right again. If the width and height are not
defined, the center point is the at the X and Y position of the meter. If width and height are
specified, it is in the middle of the bounding box. Roundline meters require that the measure
being used is from 0.0 to 1.0 or has both MaxValue and MinValue set.
*!
The width of the line in pixels
**
This defines the length of the line. The length is always measured from the center of rotation (no
matter what the LineStart value is).
**+
If VontrolLength is set to 1, the measure value controls the LineLength from LineLength to
LineLength LengthShift.
*+
This defines the distance from the center at which the line starts.
+ ¦
The starting angle for the line. This is in radians and the zero angle is at the right. The default
rotation direction is clockwise.
$ c
se remainder instead of the actual measured value. This can be used to draw an analog clock.
*
The color of the line. The colors are given in the same manner as with SolidVolor: RGB(¦).
+
Set to 1 and the meter will draw a pie-chart instead.
Example Skin
String Meter
String meters display the value of measures as text. ¦ string meter does not necessarily need to
have a measure attached to it and can just be a static string of text by using Text=. You can mix
the results of measures and static text by using Text= combined with %1, %2 etc. to indicate the
value of the measures used by the meter. If you are only displaying the result of a single
measure, no Text= statement is needed.
1 ,
1 , ...
The name of a measure to bind with the meter.
2
The color of the text. The colors are given in the same manner as with SolidVolor: RGB(¦).
# )
String that is displayed before the value.
#
)
String that is displayed after the value.
22
½ame of the font. ½ote that this is not the name of the font's file, but the font itself. Details on
using fonts with Rainmeter can be found at ¦ ½ote on Ôonts.
2+
Size of the font.
+¦
The alignment of the string. The valid values are: LEÔT, VE½TER and RIGHT.
++
Style of the string. The valid values are: ½ORM¦L, BOLD, IT¦LIV and BOLDIT¦LIV.
+(
Effect of the string. The valid values are: ½O½E, SH¦DOW and BORDER.
2(
The color of the StringEffect. The colors are given in the same manner as with SolidVolor:
RGB(¦).
+
Sets the "case" of the string. The Valid values are ½O½E, ER, LOWER, RO ER.
+
Scaling factor for the measured value. The measured value is with the scale value, so in
order to get 1000 times smaller values just set the scale to 1000. If the scale value has a decimal
point (e.g. 1000.0) the resulting measured value is displayed as floating point value with one
decimal.
¦ +
If set to other than 0, the value is scaled automatically. This setting overrides Scale. The value is
automatically postfixed with the appropriate T, G, M or k characters.
Valid values are 0, 1, 1k, 2 or 2k, with 1/1k scaling by 1024 and 2/2k scaling by 1000
Ôor instance:
)9$:;;;;;;;;"9;
- ¦utoScale=0
¦utoScale is disabled. ses Scale value.
¦="2800000000", B="0"
- ¦utoScale=1
Scales value by 1024.
¦="2.6 G", B="0.0 "
- ¦utoScale=2
Scales value by 1000.
¦="2.8 G", B="0.0 "
- ¦utoScale=1k
Scales value by 1024, and uses kilo as the lowest unit.
¦="2.6 G", B="0.0 k"
- ¦utoScale=2k
Scales value by 1000, and uses kilo as the lowest unit.
¦="2.8 G", B="0.0 k"
#
If set to 1, the value is displayed as a percentage.
1 /
ë)
The text that is displayed. se %1, %2, etc. for different measures.
+
If set to 1 the width of the meter clips the string. ¦n ellipsis (...) is added to the end of the string.
Width and height must be specified. If the height is large enough to allow for another row of text,
it will wrap the text into two or more lines, instead of using the ellipsis.
¦
This defines the angle of the text. The value is given in radians. ½ote that the size and position of
the text is still calculated as if the text were horizontal.
Example Skin
lugins
¦ plugin in Rainmeter is a dynamic link library (.dll) program specifically written to provide
additional functionality not built into Rainmeter. ¦ plugin is used in Rainmeter with the specific
measure type Measure= lugin. Each plugin in turn has its own settings that must be placed in
this section. Vlick on any of the plugins listed on the left to learn more about the plugins
included with Rainmeter and what settings are required for each.
You may also use a 3rd-party plugin developed for Rainmeter but not included with the
installation. Simply place the new plugin .dll file into the lugins folder under the location of
your Rainmeter.exe and the new plugin can be used like any of the default ones. ½ote: Be sure
that the 3rd-party plugin you add was compiled for the same architecture version of Rainmeter
(32bit or 64bit) as the version you are using. You may not use a 32bit plugin with 64bit
Rainmeter or a 64bit plugin with 32bit Rainmeter.
If you are interested in creating a 3rd party plugin for Rainmeter, there are source code templates
available for both V and V coders. Ôurther information can be found at Developers.
¦dvancedV lugin
Plugin=Plugins\AdvancedCPU.dll
This is similar to using erfMon to measure the V usage except that you can filter out
processes or only include some of them.
#5u
List of process names that are included in the cpu measuring. The names are separated with
semicolon (";"-char). The include list overrides the excludes.
#5()
List of process names that are excluded from the cpu measuring. The names are separated with
semicolon (";"-char). The include list must be empty to exclude something.
ë#
Value 2 returns the name of the process that took the most V time since the last update. Value
1 returns the V time for that process. ½ote that this returns V time and not the percentage.
If you measure the value once per second you can scale the value with 100000 to get the
percentage but you should note that if the values cannot be measured excatly once per second
(like it usually cannot because the timer in Windows is not accurate) you might get values larger
than 100%.
Example Skin
ÔolderInfo lugin
Plugin=Plugins\FolderInfo.dll
ÔolderInfo.dll can be used to count files in a folder, their size, and more.
2
ath to the folder to watch. Relative paths do not work currently.
u ë
Defines the return value:
c()2
The regular expression used for including/excluding counted files. The plugin uses erl
Vompatible Regular Expressions, so check the erl docs for syntax and more info.
u 02
Example Skin
InputText lugin
Plugin=Plugins\Inputëext.dll
InputText inserts user-supplied text into a one or more !Bang-commands. The plugin works by
defining a series of commands, which can be triggered by any "action" string. (This includes
mouse actions, conditional actions in a Valc measure, and other commands in an InputText
measure, including the same measure.) When triggered, a free-floating text input box is created
to gather user input at the specified points in the command series. When all input has been
submitted, the commands are carried out.
$
Text that will appear in the input box when it is created.
If assword=1, all input will be displayed as asterisks.
"
The horizontal position of the input box, relative to the left edge of the skin. ½ote: X cannot be
relative to the previous meter (as in "r" and "R").
-
The vertical position of the input box, relative to the top edge of the skin. ½ote: X cannot be
relative to the previous meter (as in "r" and "R").
!
The width of the input box, in pixels.
0
The height of the input box, in pixels.
+
The background color of the input box in either normal (R,G,B,¦) or hexadecimal
(RRGGBB¦¦) format. ¦s with all colors in Rainmeter, the alpha value is optional, and will
default to opaque if omitted.
2
The color of text written in the input box in either normal (R,G,B,¦) or hexadecimal
(RRGGBB¦¦) format. ¦s with all colors in Rainmeter, the alpha value is optional, and will
default to opaque if omitted.
22
The font of text written in the input box.
2+
The size of text written in the input box.
++
¦dditional text effect applied to text. Valid values are ½ORM¦L, BOLD, IT¦LIV,
BOLDIT¦LIV.
+¦
Input text can be aligned LEÔT, VE½TER or RIGHT. Left is the default value. If aligned right,
the cursor will move from left to right as text is typed. This is advised for skins using languages
which are read in the opposite direction, such as ¦rabic.
2
(0/1)
If set to "0", (default) the mouse is disabled on any other window element until E½TER or ESV
is pressed. If set to "1", clicking anywhere other than on the input field will "dismiss" the input
without taking action.
ÑeftMouseUpAction=!ainmeterPluginBang "MeasureInputëextPlugin xecuteBatch
AÑÑ X=100"
IfAboveAction=!ainmeterPluginBang "MeasureInputëextPlugin xecuteBatch 3"
i? ress Enter to submit user input. ress Escape to dismiss the input box without executing the
script.
i? Due to a limitation in Rainmeter, user-input text may not include quotation marks. If it does, the
quotes will be stripped from the command. Try to avoid using this plugin for setting variables or
other data that require quotation marks.
i? While an InputText box is open, no Rainmeter skin will respond to mouse actions.
i? ¦lthough the bang
would normally only refresh the current skin, InputText
bangs are passed through Rainmeter itself, which means that the bang will perform a global
refresh instead. To only refresh the skin, use
<2'
R!2# <.
Example Skin
iTunes lugin
Plugin=Plugins\iëunesPlugin.dll
This plugin can be used to remote control iTunes and get information from it.
¦'
Sets the default path (relative path to the skin's folder) for artwork returned by
Command=etCurrentërackArtwork.
Van be any of the following:
& (no return value)
i? ' ' - reposition to the beginning of the current track or go to the previous track if already
at start of current track
i? 2
2 - skip forward in a playing track
i? 1)ë ' - advance to the next track in the current playlist
i? #
- pause playback
i? # - play the currently targeted track
i? # #
- toggle the playing/paused state of the current track
i? #.
ë ' - return to the previous track in the current playlist
i? c
- disable fast forward/rewind and resume playback if playing
i? c - skip backwards in a playing track
i? + - stop playback
i? 4
+0# - go to the iTunes Store home page
i? # - open/close iTunes instance
i? : - exit the iTunes application
i? + $ 5 - turn the volume up 5%
i? + $ - turn the volume down 5%
i? ëë
- show/hide iTunes window
i? ë$
- show/hide iTunes visuals
i? 5 u# - update the contents of the i od
i? 5 #
2
- update all podcast feeds (equivalent to the user pressing the pdate
button when odcasts is selected in the Source list)
u$
&
+$
&
Bangs
iTunes can be controlled through !Rainmeter luginBang statements. You can either one of the
following methods.
i? Vreate a separate measure for each command that will be required. To control, execute
!ainmeterPluginBang Measureame.
i? Send the bang to any iTunes measure with the command as an argument. Ôor example,
!ainmeterPluginBang "AnyiëunesMeasure extërack" (quotes required).
Example Skin
erfmon lugin
Plugin=Plugins\PerfMon.dll
se Window's erformance Monitor to find out the valid values for these settings.
There are a great many counters which Windows tracks in erformance Monitor. Ôrom the Start
Menu, type " erfmon.msc" to run the tool and find the counters you wish to measure.
# /
The name of the performance object. E.g. Memory, rocess, rocessor,...
#
The name of the performance counter. E.g. "% rocessor Time", "Disk Read Bytes/sec", ...
# u
The name of the instance. E.g. "_Total". If the counter doesn't have any instances you can leave
this empty.
ing lugin
Plugin=Plugins\PingPlugin.dll
This plugin can be used to send ping packets to a server and measure the network latency.
¦
5 c
How often the ping packet will be send to the server. This relative to the config's overall update
rate.
ë
Defines the amount of time in milliseconds that the plugin waits for a reply. The default value is
30000 (i.e. 30 seconds).
ë $
Defines the value that is returned when timeout happens. By default this is the !.
Example Skin
MediaKey lugin
Plugin=Plugins\MediaKey.dll
The MediaKey plugin allows you to send various keystrokes found on multimedia keyboards. It
has been tested to work with Spotify, Zune, foobar, and Windows Media layer.
sage:
MeasureMediaKey]
Measure=Plugin
Plugin=MediaKey.dll
The plugin is controlled via !Rainmeter luginBang statements sent to its measure. E.g.:
i? 1)ë '
i? #.ë '
i? +
i? # #
i? $
i? $
i? $ 5
ower lugin
Plugin=Plugins\PowerPlugin.dll
This plugin can be used to measure battery status and the current MHz on laptops. ½ote that not
all laptops support this (or all the values).
#+
This defines what is measured. The valid values are:
i? ¦*u1( - Measures if the power is hooked to ac-line (returns 0 for battery and 1 for ac-line).
i? +ë¦ë5+ - Measures the status of the battery (returns 0 for no battery, 1 for charging, 2 for
critical, 3 for low, and 4 for high).
i? +ë¦ë5+ - Same as ST¦TS except that the BatteryÔlag in SYSTEM_ OWER_ST¦TS is
returned as is.
i? *u2(ëu( - Measures the lifetime of the battery.
i? #(c(1ë - Measures the percentual lifetime.
i? 0 - Measures the current V in Hz.
i? 0 - Measures the current V in MHz.
2
This is the same as in a TIME measure. It is used only when PowerState=ÑIF ëIM .
Quote lugin
Plugin=Plugins\QuotePlugin.dll
This plugin has two different uses: it can display a random string from a text file or it can select a
random file from a folder which can be displayed with the IM¦GE meter (if it's an image that
is).
# 1
ath to a folder or a file. If it's a folder, the plugin returns the file name of one of the files in it. If
it's a file, the plugin reads a random part of text from it. The file can be encoded in the ¦½SI or
nicode formats.
+
¦ string that separates the text. The default value is \n (i.e. newline).
+
22
This can used to filter the files by their name. It's possible to define several file filters by
separating them with a semicolon (e.g. FileFilter=*.jpg;*.gif).
Example Skin
RecycleManager lugin
Plugin=Plugins\ecycleManager.dll
This plugin can be used to check the size and count of the files in the recycle bin.
cë
This defines what is measured. The valid values are:
.
Defines the drives to watch for trash. Ôor the sum all recycle bins, use Drives=AÑÑ.
Ôor specific drives use a pipe as a delimiter. E.g. Drives=A:|C:|D: will give the sum of these
drives.
Bangs
The following bangs can also be sent to any RecyleManager measure:
Example Skin
ResMon lugin
Plugin=Plugins\esMon.dll
Requires Windows X with Service ack 1 or newer. The plugin was originally made by
Daedalus.
c
ë
Valid values are:
1
The name of the process that is measured. E.g. Processame=ainmeter.exe would measure
only Rainmeter's resources. Leave this empty if you want to measure all resources in the system.
This has no effect if the esCountëype=WID W.
Speedfan lugin
Plugin=Plugins\SpeedFanPlugin.dll
This plugin can read the values measured by SpeedÔan. You need to have SpeedÔan running for
this plugin to work since it doesn't do any measuring itself.
+2 ë
Defines the return value. Valid values are:
+2 1
This defines the index for the returned value. The indexing starts from 0 so if you want to return
e.g. the second temperature value use SpeedFanumber=1.
+2 +
This defines the temperature
when SpeedÔanType is set to TEM ER¦TRE.
½ This requires SpeedÔan to be set to return Ventigrade. Otherwise the returned value will be
incorrect.
SysInfo lugin
Plugin=Plugins\SysInfo.dll
+
u ë
Type of the system information. The valid values are:
ÿ
ÿ ½
i? /#5ë(c;1¦(
i? 5+(c;1¦(
i? +c((1;+u( - The resolution of the primary display monitor in a string of the form "width x
height"
i? !/c3;¦c(¦ - The size of the client area of the primary display monitor in a string of the
form "width x height"
i? c¦+;+ë¦ë5+
i? /+;$(c+u/1
i? /+;uë+
i? ¦¦#ë(c;(+cu#ëu/1 (1
0 specifies the adapter)
i? 1(ë;¦+3 (1
0 specifies which net mask, if there are several)
i? u#;¦c(++ (1
0 specifies which ip address, if there are several. 0-999 for installed,
1000-1999 for active)
i? 4¦ë(!¦-;¦c(++ (1
0 specifies the adapter)
i? 0/+ë;1¦(
i? /¦u1;1¦(
i? 1+;+(c$(c
½
i? +c((1;!uë0 (1
0 specifies which monitor, if there are several)
i? +c((1;0(u40ë (1
0 specifies which monitor, if there are several)
i? $ucë5¦*;+c((1;ë/# - Y-Voordinate of the upper left corner of the virtual screen. se
1
0 to specify the monitor. These coordinates are relative to the primary monitor and
can be negative.
i? $ucë5¦*;+c((1;*(2ë - X-Voordinate of the upper left corner of the virtual screen. se
1
0 to specify the monitor. These coordinates are relative to the primary monitor and
can be negative.
i? $ucë5¦*;+c((1;!uë0 - Width of the virtual screen which encompases display
monitors.
i? $ucë5¦*;+c((1;0(u40ë - Height of the virtual screen which encompases display
monitors.
i? !/c3;¦c(¦;ë/# - Y-Voordinate of the upper left corner of the client area. se
1
0 to specify the monitor. These coordinates are relative to the primary monitor and
can be negative.
i? !/c3;¦c(¦;*(2ë - X-Voordinate of the upper left corner of the client area. se
1
0 to specify the monitor. These coordinates are relative to the primary monitor and
can be negative.
i? !/c3;¦c(¦;!uë0 - Width of the client area of the primary display monitor. se
1
0 to specify a different monitor, if there are several.
i? !/c3;¦c(¦;0(u40ë - Height of the client area of the primary display monitor. se
1
0 to specify a different monitor, if there are several.
i? 15;/1uë/c+ - The number of display monitors currently active.
+
u
¦dditional data that some of the SysInfoType items require. This is always a number. Ôor
SysInfoTypes which use SysInfoData to specify a monitor, the appropriate value to pass can be
found by opening the Windows Display roperties dialog. It is important to note that "1" is not
always the primary display monitor.
VirtualDesktops lugin
Plugin=Plugins\VirtualDesktops.dll
¦ virtual desktop manager (VDM) allows you to distribute programs across multiple desktops.
The VirtualDesktops plugin gives access to information from different VDMs for Windows and
can be used to trigger desktop switches.
$
Must be set to the name of a supported VDM. The plugin currently supports "Dexpot" and
"VirtuaWin".
$
ë
Specifies what information to measure. The following measure types are supported by every
VDM and can be used to make basic skins that work with every VDM supported by this plugin.
$
'
sed with VDMeasureëype=DesktopCount. Van be set to either X or Y to return the number of
columns or rows, respectively, in a desktop grid layout.
R
CurrentDesktop]
Measure=Plugin
Plugin=VirtualDesktops.dll
VDManager=VirtuaWin
VDMeasureëype=CurrentDesktop
DesktopCountX]
Measure=Plugin
Plugin=VirtualDesktops.dll
VDManager=VirtuaWin
VDMeasureëype=DesktopCount
VDDesktopCount=X
SwitchDesktop]
Measure=Plugin
Plugin=VirtualDesktops.dll
VDManager=Dexpot
VDMeasureëype=SwitchDesktop
!ainmeterPluginBang "SwitchDesktop 2"
i? $/¦.
i? $/ .
i? $/
These options can be used to execute Rainmeter bangs when certain events occur.
VDOn¦ctivate and VDOnDeactivate are used with VDMeasureëype=VDMActive and get
triggered when Dexpot starts or quits, respectively. VDOnVhange can be used with both
VDMeasureëype=CurrentDesktop and VDMeasureëype=DesktopCount and is triggered when
the corresponding value changes. ½ote that bangs do not default to the current skin. Only those
bangs can be used that would also work when given to Rainmeter on the command line (after
variable substitution).
R
CurrentDesktop]
Measure=Plugin
Plugin=VirtualDesktops.dll
VDManager=Dexpot
VDMeasureëype=CurrentDesktop
VD nChange=!ainmeterefresh #CU ëC FI#
i?
'1 - Returns the name of the currently active desktop. Set VDDesktop to a desktop
number to always return that particular desktop's name.
i?
'! - Returns the path to the wallpaper of the currently active desktop. Set
VDDesktop to a desktop number to always return the wallpaper defined for that particular
desktop.
i? - Van be used to send commands to Dexpot through bangs. ¦t this time, valid
commands are exactly the Dexpot command line switches. ¦ complete list can be found at
Dexpot Vommand Line Switches.
i? +
- Writes a screenshot (in BM format) of the current desktop to the file specified by
VDOutputÔile after every desktop switch.
Other options specific to VDMeasureëype=Screenshot:
$
'
Set to a desktop number to always save a screenshot of that particular desktop.
$c
/5
If set to 1 and VDDesktop denotes the currently active desktop, creates a new screenshot every
time the measure is updated. Make sure to use an appropriate pdateDivider.
R
Screenshot]
Measure=Plugin
Plugin=VirtualDesktops.dll
VDManager=Dexpot
VDMeasureëype=Screenshot
VDDesktop=1
VD utputFile=#CU ëPAëH#Desktop1.bmp
VDWidth=320
DexpotCommand]
Measure=Plugin
Plugin=VirtualDesktops.dll
VDManager=Dexpot
VDMeasureëype=Command
Web arser reads information from webpages. The plugin uses Regular Expressions to parse the
web page which allows it to extract information pretty much from any page. The plugin can be
used e.g. to get the current TV shows, weather conditions, stock exchange values, news and
basically anything that is on the net. The negative side is that the regular expressions might look
rather complex especially if you're not familiar with programming languages (and even if you are
:-).
More information and examples for Web arser can be found at Web arser rimer and RSS Skin
Tutorial.
5
rl to the file to be downloaded and parsed. The rl can also be another Web arser-measure, in
which case the already downloaded and parsed information can be reused (e.g. when displaying
different StringIndex on the same page). To do this just give the name of the measure in the rl,
like this: Url=Measure xample]
½ Web arser can also be used to read and parse local files on your computer by using
Url=file://C:\path\file.ext.
c()
The regular expression used in parsing. The plugin uses erl Vompatible Regular Expressions, so
check the erl docs for syntax and more info.
2
¦
¦ction that is executed when the page has been downloaded and the parsing is done.
½ There is a known issue with Web arser / Ôinish¦ction not being able to determine the
name of the config it is called from. This means that all bangs used in Ôinish¦ction need to have
the name of the config or VRRE½TVO½ÔIG at the end of the statement.
+u)
Defines which string from the regexp this measure returns. You can get the correct index values
by setting the Debug=1, which will add all matched strings to the log-file.
+u)
The second string index is used when using a RegExp in a measure that uses data from another
webparser measure (i.e. the rl points to a measure and not to a real RL). In this case the
StringIndex defines the index of the result of the other RegExp and the StringIndex2 defines the
index of this measure's RegExp (i.e. it defines the string that the measure returns). If the RegExp
is not defined in this measure the StringIndex2 has no effect.
5 c
The rate how often the webpage is downloaded. This is relative to the config's main update rate.
It is advisable to limit the rate so that you're not flooding the server with constant requests. The
web server admins will not like it and you probably get banned from the server altogether if you
try to poll the server too often. So, if the main update rate is 1000 (i.e. one second, which is the
default) set this e.g. to 60 to read the webpage once per minute.
c
¦utomatically decodes HTML Vharacter References. This will eliminate the need to use a
Substitute= statement to translate character references like ", &, <, > to the
actual character.
Set this to 1 and the log file will contain some useful debug information. Value 2 dumps the
downloaded webpage to V:\Web arserDump.txt. This can be useful since some web servers send
different information depending which client requests it. Remember to remove this from your
config once you have it working correctly.
2
If Debug is set to 2 then this parameter will allow you to set the path and filename of the file to
use for the downloaded webpage. This will allow you to use Web arser to parse the local version
for testing, or for use in another measure or skin.
WebParserMeasure]
Debug2File="path\]Filename.ext"
Debug=2
R
WebParserMeasure]
Debug2File="Debug2File.txt"
;(saves to current skin folder)
Debug=2
WebParserMeasure]
Debug2File="#SKISPAëH#DebugFiles\Debug2File.txt"
;(saves to\DebugFiles under the \Skins folder)
Debug=2
½
If set to 1, the ' is downloaded to a temporary folder and the name to the file is returned as
string value. The measure can be bound to a IM¦GE meter to download images from web and
show them. If the RegExp is defined the parsed string is interpreted as a link to the downloaded
image.
2
When 0 is set to 1, the file is downloaded to 0 # folder in the skin folder as a
filename set to this value. If you define it as 0 #94, 0 # folder
will be created in the current skin folder then the downloaded file is saved as "image.jpg" If you
define as 0 #94, the subfolder is created then a file is saved in
this folder.
½otes:
i? This file is not a temporary file so it is not deleted even if it close a skin.
i? ¦s for specification of file path, it is not possible to specify by the absolute path and also
specification to the outside of 0 # folder is not possible.
(+
String that is returned in case there is a parse error.
2c
Web arser reads the resource only if it has been modified. This can be overridden with
ÔorceReload=1.
#)
½ame of the proxy server. The plugin doesn't support any authentication so it's possible to use
only servers that does not require it or you need a some different way to authenticate yourself to
the proxy server.
#
Defines the codepage of the downloaded web page. Ôor example Vode age=28605 interprets the
page as Latin 9 (ISO-8859-15). If the Vode age is set to 0 no conversion is done.
Vode age=65001 means TÔ-8. You can check other Windows code pages from Microsoft
Reference.
R
Display the title and first item from Slashdot's RSS feed.
MeasureSSëitle]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Updateate=3600
Url=http://slashdot.org/slashdot.rdf
eg xp="(?siU)§title(.+)§/title(.+)§item(.+)§title(.+)§/title"
StringIndex=1
FinishAction=!ainmeteredraw
MeasureSS]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=MeasureSSëitle]
StringIndex=4
Substitute="&":"&"
[MeasureDL]
Measure= lugin
lugin= lugins\Web arser.dll
pdateRate=1800
rl=http://www.fmi.fi/saa/sadejapi_5.html?selected=7
RegExp="(?si)ennuste" SRV=\"(.*)\"></TD>"
Ôinish¦ction=!RainmeterRedraw
StringIndex=1
Download=1
[MeterImage]
Meter=IM¦GE
Measure½ame=MeasureDL
X=0
Y=0
W=400
H=300
WiÔiStatus lugin
lugin= lugins/WifiStatus.dll
The WifiStatus plugin can be used to display various attributes of visible wireless networks in
your area.
This plugin has been tested successfully on all versions of Windows (32 and 64 bit). ½ote:
Windows X S 1/S 2 users need to install this hotfix: KB918977
i? ++u - The broadcast name for your current connection. If you are still trying to connect, you
may see a 'connecting...' or 'authorizing...' next to the name, but only if your update speed is
around 2 seconds
i? :5¦*uë- - ¦ percentage value of the maximum dBm signal strength for your current
connection
i? (1c-#ëu/1 - The cipher algorithm being used for your current connection. ossible values
are: ½O½E, WE 40, TKI , ¦ES, WE 104, W ¦_GRO , WE , ??? (for unknown)
i? ¦5ë0 - The authentication algorithm being used for your current connection. ossible values
are: Open, Shared, W ¦_½O½E, W ¦_Enterprise, W ¦_ ersonal, W ¦2_Enterprise,
W ¦2_ ersonal, ???
i? #0- - The supported bands for your connection (½OT your adapter). ossible values are
802.11a, 802.11b, 802.11g, 802.11n, DSSS, ÔHSSS, IR-Band, ???
½ote: The HY measure supported in Windows Vista and higher only.
i? *u+ë - Returns a list of all visible networks. The list is automatically separated by line-breaks
'\n', so each network appears on a separate line. It will also display the band, cipher, and
authentication algorithms next the the network name.
! *
+[ &
¦llows you to control what information appears along with the names of all visible networks
(returned when WifiInfoType=LIST, see above). This value should be either 0, 1, 2 or 3. This is
how the list will show up based on these values:
- SSID
, - SSID @band
- SSID (Encryption:¦uthentication)
- SSID @band (Encryption:¦uthentication)
Tip: You can use Substitute to modify the characters used as delimiters here
! *
*[ &
¦llows you to control how many networks will be displayed by the LIST measure.½ote: The list
is sorted in descending order based on the signal quality of each network (i.e. strongest first,
weakest last)
¦ny value greater than 0 is valid for this measure.
R
MeasureSSID]
Measure=Plugin
Plugin=Plugins\WifiStatus.dll
WifiInfoëype=SSID
WifiIntfID=0
Measureetworks]
Measure=Plugin
Plugin=Plugins\WifiStatus.dll
WifiInfoëype=ÑISë
WifiIntfID=0
WifiÑistStyle=3
¦ more detailed sample and support is available at the WifiStatus support thread.
Win7¦udio lugin
Plugin=Plugins\Win7AudioPlugin.dll
Vontrols sound device and volume for Windows Vista and newer. revious versions of Windows
are not supported. This plugin has been written by Reiswaffel.
sage
MeasureWin7Audio]
Measure=Plugin
Plugin=Win7AudioPlugin.dll
Returns the name of the current sound device (when used in a STRI½G meter) and the
percentage (0-100) of current volume level (when used in a measure which requires a number).
Bangs
The current device and volume is controlled with !Rainmeter luginBang statements sent to the
plugin. See the sample .ini below for examples.
Example Skin
WindowMessage lugin
Plugin=Plugins/WindowMessagePlugin.dll
This plugin can be used to send and receive information from other applications. It can send
window messages to other applications and show the result. The plugin can be used for example
to control Win¦mp or some similar media players.
!1
The name of the window. This is used to identify the window. It's not necessary to set this if the
WindowVlass is set.
!
The class of the window. This is used to identify the window. It's not necessary to set this if the
Window½ame is set.
!
This is the message to be send to the window. You need to define 3 parameters to where the first
one is the message and the next ones are w aram and l aram. The values are unsigned decimal
integers. The measure returns the value returned by the SendMessage()-function. If the
WindowMessage is not given the measure returns the window's current title.
It's also possible to send messages to applications with !Rainmeter luginBang. The arguments
are similar to WindowMessage. That is, !ainmeterPluginBang "Measureame SendMessage
Msg wParam lParam".
Example Skin
Bangs
Rainmeter can also be controlled with !Bang-commands. ¦ bang is a special command that can
be executed to change something in the application. You can use the bangs in the various actions
that Rainmeter has, or run from them from the command line by giving it as an argument for
Rainmeter.exe.
General Rules
i? ¦ single !Bang may be called using:
ÑeftMouseUpAction=!ainmeterefresh
i? Executing an external application is done by using the !Execute bang and a space, followed by
the command and any parameters inside of square brackets:
ÑeftMouseUpAction=! xecute "C:\Windows\otepad.exe" "Fileëo pen.txt"]
Bangs
½ote that the [] means that you must supply the argument for the bang (do not include the []-
chars). The () means that the argument is not necessary.
Most !bangs take also the config as an optional parameter. If the config is defined the bang only
applies to that particular config. If it's not given, the !bang is sent to the current (in a skin) or first
(from the command line) config. se * as the config's name to send it to all configs.
i? c + (Vonfig)
Displays the Rainmeter-window.
i? c 0 (Vonfig)
Hides the Rainmeter-window.
i? c c
(Vonfig)
Reloads the configuration file. The arguments are optional. If not given the current config is
reloaded. The Vonfig and IniÔile must exist in the already loaded list of configurations.
i? c 5 (Vonfig)
Vauses Rainmeter to immediately update the skin, overriding what is in pdate= in the
[Rainmeter] Section. ½ote that this does not override pdateDivider/pdateRate on individual
measures.
i? c 5
[Measure] (Vonfig) / c 5
4
[Group½ame] (Vonfig)
Immediately updates an individual measure or group of measures. This does override
pdateDivider/pdateRate if set.
i? c c (Vonfig)
Ôorces the redraw of the window. This also updates all the meters.
i? c
[Measure] (Vonfig)
Disables the given measure.
i? c (
[Measure] (Vonfig)
Enables the given measure.
i? c ë
[Measure] (Vonfig)
Toggles the status of the given measure (i.e. disabled/enabled).
i? c #
[ OS] (Vonfig)
Vhanges the z-position of the window. -2 = OnDesktop, -1 = OnBottom, 0 = ½ormal, 1 =
OnTop, 2 = Topmost.
i? c ¦
Opens the ¦bout dialog.
i? c *
)0' [Vonfig]
Special bang for lsBox. ½ote that you MST give the name of the config as argument.
i? c c
+
i? ()
Special !bang that can be used to combine several !bangs together. The !bangs are separated with
'[' and ']'-chars. You can also launch applications with this (!Execute
["V:\Windows\½otepad.exe"])
i? c :
Quits Rainmeter.
i? c +$
[Variable] [Value] (Vonfig)
Sets a new value for a variable. The meter or measure where the variable is used must have
dynamic variables enabled (DynamicVariables=1). Ôormulas may be used, enclosed in
parentheses. ¦s with all !Bangs, quotes must be used around the parameter if there are spaces:
!RainmeterSetVariable Var½ame "(SVREE½¦RE¦WIDTH - 10)"
i? c c
¦
Does a full refresh of all skins and reloads the list of configs and Rainmeter.ini settings. This is
the same as "Refresh ¦ll" from the system tray context menu. Is not the same as
!RainmeterRefresh [config | *] as it can be used to make Rainmeter "see" a new folder added to
\Skins by the user or a process.
i? c +ë
[¦lpha¦mount] (Vonfig)
Sets the transparency of a skin from 0 (invisible) to 255 (opaque).
i? c (
4 [Group] (Vonfig)
Enables all of the measures in the specified group.
i? c
4 [Group] (Vonfig)
Disables all of the measures in the specified group.
i? c ë
4 [Group] (Vonfig)
Toggles the status of all of the measures in the specified group (i.e. enabled/disabled).
i? c c
4 [Group]
Refresh the configs in the specified group.
i? c 04 [Group]
Hide the configs in the specified group.
i? c #
4 [ OS] [Group]
Vhange the z-position of the configs in the specified group.
i? c +ë
4 [¦lpha¦mount] [Group]
Vhange the transparency of the configs in the specified group.
i? c +' (Vonfig)
Open the skin menu at the cursor's current position.
i? c ë
Open the tray menu at the cursor's current position.
i? c
[½ewSetting] (Vonfig)
Sets Draggable setting for current / named / all configs. ½ewSetting = -1 (toggle) | 0 (off) | 1 (on)
i? c + (
[½ewSetting] (Vonfig)
Sets SnapEdges setting for current / named / all configs. ½ewSetting = -1 (toggle) | 0 (off) | 1
(on)
i? c + (
4 [½ewSetting] [Group]
Sets SnapEdges setting for specified group. ½ewSetting = -1 (toggle) | 0 (off) | 1 (on)
Sound
Rainmeter supports audio commands that can be used like and other commands or !bangs.
R
ButtonCommand=PÑAY #SKISPAëH#Beeper\Sounds\beep.wav
ButtonCommand=PÑAY "#SKISPAëH#Beeper\Sounds\beep.wav"
ButtonCommand=!execute PÑAY #SKISPAëH#Beeper\Sounds\beep.wav]
ButtonCommand=!execute PÑAY "#SKISPAëH#Beeper\Sounds\beep.wav"]
R
BeeperButton]
Meter=Button
ButtonImage=button.png
ButtonCommand=PÑAY #SKISPAëH#Beeper\Sounds\beep.wav
WindowMessages
sing Window Messages to interact with Rainmeter from a 3rd-
party application
It is possible to access key data about a Rainmeter instance through basic Windows Messaging
¦ I calls. The majority of the queries return data via a VO YD¦T¦STRVT, but some operate
slightly differently depending on the content that needs to be communicated. ½ote: These
instructions assume you are using V in your program. The method is applicable in other
languages but the format will be different.
i? c¦u1(ë(c;:5(c-;u;+3u1+;#¦ë0
QueryID: 4101
Returns the skins path as defined in Rainmeter.ini
i? c¦u1(ë(c;:5(c-;u;+(ëëu14+;#¦ë0
QueryID: 4102
Returns the path to the Rainmeter.ini file
i? c¦u1(ë(c;:5(c-;u;#*54u1+;#¦ë0
QueryID: 4103
Returns the path to the Rainmeter plugins directory
i? c¦u1(ë(c;:5(c-;u;#c/4c¦;#¦ë0
QueryID: 4104
Returns the path to the Rainmeter program directory
i? c¦u1(ë(c;:5(c-;u;*/4;#¦ë0
QueryID: 4105
Returns the path to the Rainmeter.log file
i? c¦u1(ë(c;:5(c-;u;/12u4;(uë/c
QueryID: 4106
Returns the path specified as the VonfigEditor= setting in Rainmeter.ini
i? c¦u1(ë(c;:5(c-;u;/¦1;*u1(
QueryID: 4107
Returns the command line parameters used to launch Rainmeter
i? c¦u1(ë(c;:5(c-;u;+ë¦ë+;¦ë(
QueryID: 4108
Returns the date on which the ½et measures stats were started
i? c¦u1(ë(c;:5(c-;u;ëc¦-;(";*
QueryID: 4109
Returns the TrayExecuteL (Left Mouse) string from Rainmeter.ini
i? c¦u1(ë(c;:5(c-;u;ëc¦-;(";c
QueryID: 4110
Returns the TrayExecuteR (Right Mouse) string from Rainmeter.ini
i? c¦u1(ë(c;:5(c-;u;ëc¦-;(";
QueryID: 4111
Returns the TrayExecuteM (Middle Mouse) string from Rainmeter.ini
i? c¦u1(ë(c;:5(c-;u;ëc¦-;(";*
QueryID: 4112
Returns the TrayExecuteDL (Double Vlick Left Mouse) string from Rainmeter.ini
i? c¦u1(ë(c;:5(c-;u;ëc¦-;(";c
QueryID: 4113
Returns the TrayExecuteDR (Double Vlick Right Mouse) string from Rainmeter.ini
i? c¦u1(ë(c;:5(c-;u;ëc¦-;(";
QueryID: 4114
Returns the TrayExecuteDM (Double Vlick Middle Mouse) string from Rainmeter.ini
The first parameter should be the HW½D of Rainmeter, the second should be
WM_QERY_R¦I½METER, defined as WM_¦ 1000. The third is the Query ID as listed
above. Ôinally, the fourth parameter needs to be the HW½D of the calling app. This allows
Rainmeter to send the requested information back.
Rainmeter will then send a WM_VO YD¦T¦ message to the window specified in hWndSelf.
The l aram of the message will contain a VO YD¦T¦STRVT with the requested string, the
Query ID and the size of the requested string. To access the data you will need to add something
like this to your Wnd roc:
//
...
}
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
To get this information you should send a message in the same way as the strings above.
Rainmeter will then send a message to your window with the requested data stored directly in the
l aram. The msg will contain WM_QERY_R¦I½METER_RETR½, defined as WM_¦
1001.
C PYDAëASëUCë cds;
ÑPWSë Skiname = Ñ"nometer\\Clock";
cds.dwData = 5101; //
AIM ë QU YIDSKIWID WHADÑ
cds.lpData = Skiname;
cds.cbData = (wcslen(Skiname) + 1) * 2;
This will assign hWndMeter with the Handle of the requested skin if it is loaded, or ½LL
otherwise.
!1
2
"
2
1
To create a .rmskin package, get the .rmskin template from here, then extract and open the newly
created Template folder. It should contain five folders along with a file called Rainstaller.cfg.
¦dding components
To add components to the package, simply copy it into the correct folder.
Ôor example, to include the "MySkins" suite of skins, simply copy it into Template\Skins.
Including plugins
You are able to include both 64bit and 32bit in one single .rmskin. If you decide to take
advantage of this, you must specify at least MinainmeterVer=2.0.0.740 into Rainstaller.cfg.
Then, create the ë <#
<
and ë <#
<
folders and copy the
plugin(s) into the appropriate folder.
¦fter you have ensured that everything works as intended, you are free to upload and share your
.rmskin with others.
Vhanging settings
¦fter you have copied all the necessary files into the correct folders, open any text editor (e.g.
notepad) and drag & drop the ë <c
file into the text editor. Ôill in the
obvious (½ame, ¦uthor, and Version) and save the file. ¦ detailed explanation of the other
values is available at the end of this page, be sure to glance through that list.
8 . You will be asked to name the newly created .zip file. Give it the
name of your choice and press Enter.
To convert the created .zip file into a .rmskin file, simply change the file extension from .zip to
.rmskin. If you don't know how to do this manually, grab ExtVhanger from from here. It will
allow you change extensions from .zip to .rmskin and vice versa.
c $
Sets the minimum version of Rainmeter required to install. Ôor example, to require that
Rainmeter 1.2 r393 or higher is installed, specify MinainmeterVer=1.2.0.393
The revision numbers are available from from Google Vode.
To open an installed theme, set the following (replacing ½ameOfTheme with the the theme
name):
Ñaunchëype=ëheme
ÑaunchCommand=ame fëheme
To open load specific config(s) after install, set something like:
Ñaunchëype=Ñoad
ÑaunchCommand=MySuite\Clock\Clock.ini
The path is relative to the Rainmeter\Skins folder. To open multiple configs, seperate each config
with a vertical bar (i.e. ÑaunchCommand=file1.ini|file2.ini|file3.ini).
!
se VompatibilityWithBit in combination with at least MinainmeterVer=1.3.0.499 to ensure
that the user has a sufficient version of Rainstaller installed.
Specifies if the package is compatible with only 32bit Rainmeter or 64bit Rainmeter. Van be set
to either 32bit or 64bit. Leave blank for both.
se Merge in combination with at least MinainmeterVer=1.3.0.417 to ensure that the user
has a sufficient version of Rainstaller installed.
Set Merge=1 to merge skins in the package with the users skins. ½ote that the target system must
already have the skin in question installed for Merge to work (set to Merge=2 to ignore this).
3$
se KeepVar in combination with at least MinainmeterVer=1.3.0.427 to ensure that the user
has a sufficient version of Rainstaller installed. KeepVar below Rainmeter 1.3 r560 does
support nicode files or multiple files. Ôor nicode and multiple file support, use at least
MinainmeterVer=1.3.0.559.
KeepVar can be used to keep variables in a common settings file (e.g. serVariables.inc in
Engima or Variables.inc in Gnometer) during a skin upgrade. The path is relative to the
Rainmeter\Skins folder.
KeepVar=MySkin\CommonVariables.txt
If MySkin\VommonVariables.txt exists already exitsts in target system, Rainstaller will read all
values from "new" VommonVariables.txt and replace them with corrosponding values from
"old" VommonVariables.txt. To keep variables for multiple files, separate each file with a
vertical bar (i.e. KeepVar=file1.ini|file2.ini|file3.ini).
c 2
Set ainmeterFonts=1 to copy fonts into the Rainmeter font folder (usually rogram
Ôiles\Rainmeter\Ôonts) for use with Rainmeter's LocalÔont feature. Leave blank to install
normally to WI½DOWS\Ôonts.
Vustom Header
To use a custom header in Rainstaller, simply create a bitmap named Rainstaller.bmp into the
same folder as Rainstaller.cfg. Then create the .rmskin file. When the .rmskin file is opened,
Rainstaller will display the custom header instead of the default. The dimensions of the bitmap
should be exactly 400x60 pixels.
Vontact
Support for Rainmeter is provided at: http://www.rainmeter.net.
The best way to get help is to create a thread on the Rainmeter Ôorums.
It might also be helpful if you include the log-file that Rainmeter creates when creating bug-
reports. You can activate the log-file by right clicking the Rainmeter System Tray icon and
selecting "Show Log Ôile". Rainmeter will offer to create the log file if it does not exist.
License
U AÑ PUBÑIC ÑIC S
Version 2, June 1991
ëhe licenses for most software are designed to take away your
freedom to share and change it. By contrast, the U eneral Public
Ñicense is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. ëhis
eneral Public Ñicense applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the U Ñibrary eneral Public Ñicense instead.) You can apply it to
your programs, too.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this Ñicense.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
ëhe source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
6. ach time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this Ñicense.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. ur decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
WAAëY
History
23 J¦½ 2011 (Version 1.4)
i? Rainmeter installer changed to a single .exe which installs both 32bit and 64bit Rainmeter
i? Ôixed an issue with "BevelType" in meters not displaying correctly.
i? ¦dded ¦utoScale=2 and "k" postfix to Meter=STRI½G.
i? Removed Enigma and Gnometer skins from the build. ½ow available as a download after the
install.
i? ¦dded new illustro default skin suite.
i? pdated Rainmeter to support ½IVODE characters better.
i? MeterStyle now supports multiple styles in a single meter. (MeterStyle=Style1 | Style2 | Style3)
i? ToolTipHidden can now be added to the [Rainmeter] section of a skin to turn off / on ToolTips
for an entire skin.
i? pdate to illustro from 0.9.0 to 0.9.1
i? ¦ddedd "Version" information to Windows " roperties / Details" dialog for plugin .dll files.
i? RainStaller: ¦dded the ability to distribute both 32bit and 64bit 3rd-party plugins in a single
.rmskin file.
i? RainThemes: ¦ddressed an issue where on some systems Rainmeter was not exiting properly,
generating an error.
i? Ôixed an issue with an inconstent "space" between the value and the "k/m/g/t" postfix on
¦utoScaled values.
i? Ôixed an issue where pdateDivider was being ignored on meters when DynamicVariables=1
was set.
i? The Rainmeter installer can now install in "portable" mode, no more unzipping required.
i? Vhanged Meters so that unlimited Measure½ame(x) values and %xx values can be used.
i? ¦dded new ÔolderInfo plugin.
i? Removed old MBM5 plugin from the build.
i? Removed WirelessInfo plugin from the build.
This was outdated and replaced by WiÔiStatus.
i? Ôixed an issue where Rainmeter would stop loading skins if there was a ½LL [] section.
i? ¦dded DisableRD =1/0 to disable redraw during RD session.
This should be added to [Rainmeter] in Rainmeter.ini (thanks to ÔR10½ for the code)
i? ¦dded DisableDragging=1/0 to toggle "Dragging" for all skins at once.
This is set in [Rainmeter] in Rainmeter.ini, and can be changed from the context menu under
"Vonfigs".
i? "Groups" can now be defined under an individual skin's [Rainmeter] section as well as in
Rainmeter.ini.
i? Ôixed a minor bug with !RainmeterZ os
i? Ôixed an issue where ¦lwaysOnTop=-1/-2 was failing on startup.
i? "¦bout" dialog now opens with the log selected by default.
i? ¦dded the image manipulation functions (Greyscale / ImageTint / Image¦lpha / VolorMatrix½ /
ImageÔlip to BITM¦ and BTTO½ meters.
i? ¦dded the image manipulation functions ( rimaryGreyscale / rimaryImageTint /
rimaryImage¦lpha / rimaryVolorMatrix½ / rimaryImageÔlip / rimaryImageRotate /
Secondary / Both to HISTOGR¦M meters.
i? Vhange to InputText lugin to add ÔocusDismiss= (0/1 - Default is 0).
This switch changes the behavior of the input box so it is dismissed without firing any actions if
the input field loses focus (if the user clicks outside the input box)
i? Ôixed: ÔolderInfo.dll did not support relative paths (thanks to elestel)
i? Ôixed: TrayMeasure didn't work with Measure= LGI½.
i? Ôixed: Bug created by an earlier revision which impacted using "X/Y=xxR" in some cases.
Issue was identified in Ôorum Thread
i? Ôixed: Bug in Rainstaller that prevented an author from distributing both 32bit and 64bit versions
of a LGI½.
i? ¦dded ScaleMargins to Image meter.
i? Vhanged !Rainmeter luginBang to allow specifying only Measure½ame.
i? iTunes lugin now accepts commands as a !Rainmeter luginBang.
i? VS luginTemplate has been added to the Rainmeter source code
i? ¦dded VRRE½TSEVTIO½ variable.
i? Ôixed a bug in the iTunes plugin that could crash Rainmeter
i? ¦dded several new !Bangs to Rainmeter.
!Rainmeterpdate / !RainmeterpdateMeter / !RainmeterpdateMeterGroup /
!RainmeterpdateMeasure / !RainmeterpdateMeasureGroup
i? Vhanged pdate= and pdateDivider to enable a setting of -1, disabling updates after the initial
load/refresh.
i? Ôixed a issue that MouseOver/Leave¦ction could loop infinitely when used with
!RainmeterMoveMeter.
i? Minor change to RainThemes to make closing Rainmeter more efficient.
i? Vhanges to many Rainmeter error/prompt dialogs to make them more descriptive.
i? Ôixed a issue that Value column isn't updated if value is empty string in the ¦bout dialog.
i? Ôixed a issue that Download=1 doesn't work correctly in some cases in Web arser.
i? ¦dded [Measure]-name to log messages in Web arser.
i? Rainmeter error messages now display meter/measure in question.
i? Vhange to detect skins with no meters OR measures to reduce issues with people loading
Rainlendar skins and such.
i? Ôixed an issue where ToolTips were remaining active on hidden meters.
i? ¦dded the ability to use formulas to define ToolTipWidth.
i? Rainstaller: ¦dded display of fonts to be installed in a .rmskin
i? Ôix for long standing issue where numbers were being truncated to zero decimal places in some
instances, causing possible incorrect calculated values when the measure's number was used
dynamically later.
i? Ôix for a TooTip initialization issue which could cause intermittent Windows Taskbar error
message loop when Rainmeter was started.
i? ½umOfDecimals is now enabled when ercentual=1 is used in a STRI½G meter.
i? Ôixed a multithreading issue that could cause a crash of Rainmeter in the internal function
LSLog().
i? ¦dded new character entity ' to automatic decode for Web arser.
i? ¦dded code to address Microsoft security issue: Details.
i? Vhanged ToolTip function to allow using %1, %2 etc. as appropriate for various meter types:
Line, String: %1, %2, %3, ...
Histogram: %1, %2
Others: %1
i? Some minor fixes to the ¦bout diaglog.
i? ½ew statement / option for Web arser to automatically decode html Vharacter References.
DecodeVharacterReference=0 | 1 | 2 | 3 (default 0) 0 : Does nothing. (default) 1 : Decodes both
numeric character references and character entity references. 2 : Decodes only numeric character
references. 3 : Decodes only character entity references.
i? Improved the L¦Y command so it works more like a !bang does:
ButtonVommand= L¦Y SKI½S ¦THBeeper\Sounds\beep.wav
ButtonVommand= L¦Y "SKI½S ¦THBeeper\Sounds\beep.wav"
ButtonVommand=!execute [ L¦Y SKI½S ¦THBeeper\Sounds\beep.wav]
ButtonVommand=!execute [ L¦Y "SKI½S ¦THBeeper\Sounds\beep.wav"]
i? Ôix an issue with the "VlickThrough" skin setting broken in an earlier beta.
i? Major visual / interface changes to the "¦bout" dialog. Should make this a much more valuable
tool for "debugging" skins.
i? Ôixed an issue where dynamic variables would be reset to default when Windows "Work¦rea" is
reset by changing the screen resolution or a screensaver is activated.
i? Minor fixes to Web arser for a memory leak and routines to interact with Rainmeter "window".
i? Vhanged to allow substituting quote characters in Substitute= statements. This is done by using
single quotes to surround the first part of the "find":"replace" pair. So Substitute='"':"" would
remove all quotes from the text.
!RainmeterDraggable/!RainmeterDraggableGroup
!RainmeterKeepOnScreen/!RainmeterKeepOnScreenGroup
!RainmeterVlickThrough/!RainmeterVlickThroughGroup
!RainmeterSnapEdges/!RainmeterSnapEdgesGroup
arm1:
-1 toggles the setting.
0 forces the setting to off.
1 forces to setting to on.
i? Web arser: Ôix for issue where StringIndexes from previous call to Web arser would remain
even if the item no longer exists. This fixes a long standing problem with uTorrent skins for
example, when the last item was removed from uTorrent but remained displayed in the skin until
a refresh was done.
i? ¦dded Measure½ame2 as an alternative to SecondaryMeasure½ame in Meter=Histogram.
i? Vhanges to V¦LV measure to remove any and all restrictions on the string case of function
names. Valc measures are now completely case-insensitive, with the exception of the "b/o/x"
character when specifying the base of a number, this must be lower case.
i? ¦dded new luginMediaKey plugin by poiru. luginMediaKey.
i? Some minor improvements to MouseOver/MouseLeave actions.
i? Vhange to Rainstaller to close RainBrowser if it is running when a skin is installed, to eliminate a
problem with open files.
i? Ôix by elestel to iTunes plugin: iTunes lugin did not handle ¦boutTo romptserToQuitEvent
i? ¦dded new ROOTVO½ÔIG ¦TH variable. This will contain the path to the highest level
folder under \Skins for the current config. ROOTVO½ÔIG ¦THSettings\serVariables.inc
can be used to have an @Include work even if you move a skin to another "suite" for instance.
i? Re-design of the layout of the Rainmeter manual. The manual is now exclusively online. The
"Help" context menu item will launch the appropriate (release or beta) version of the manual in
your default web browser. The Rainmeter.chm help file is no longer included in the build or
installed on your V.
i? ¦dded new !RainmeterWriteKeyValue bang. !RainmeterWriteKeyValue "Section" "Key"
"Value" ("ÔileSpec"), where "ÔileSpec" is an optional parameter. If ÔileSpec is not present, the
change is automatically done in the currently running skin file. If the bang is executed from the
command line, ÔileSpec is required. ÔileSpec must be either in the \Skins or
%¦ D¦T¦%\Rainmeter paths. This can be used to permanently change any Key=Value
setting in any .ini or .inc file. (Including Rainmeter.ini)
i? Vhanges to MouseLeave¦ction to make it more reliable and faster. This should eliminate having
to put MouseLeave¦ction in the [Rainmeter] section to ensure detection.
i? Made the "¦bout" dialog a bit larger by default. Other cosmetic changes to this dialog.
i? Ôixed WifiStatus lugin so it no longer closes WL¦½ handle when skin is closed even if another
skin is still using it
i? Ôixed an issue where an invalid Ôormat= code in a Time or ptime measure would crash
Rainmeter. Invalid formats are now written to the debug log and the measure just gracefully
fails.
i? Vhange to Rainstaller so that a default Rainmeter plugin will not be overwritten if an author
includes it by mistake in a .rmskin file.
i? Ôixed an issue where Rainmeter was detecting an incorrect value for %¦ D¦T¦% in a multi-
user environment.
i? Ôixed an issue where check marks of context menu items in configs/root/variants menu are
cleared if !RainmeterDeactivateVonfig/!RainmeterToggleVonfig is used.
i? Minor fix to new "groups" function for configs.
i? ¦dded root folder of a config on the skin context menu
i? Ôixed an issue where the context menu did not close when focus was given to another windows
element.
i? Many additions to the supported Windows Messages that Rainmeter will respond to, allowing
3rd-party applications to query Rainmeter for paths, currently loaded configs, etc. These changes
are courtesy of James¦V and atrick from Dexpot.
i? ¦dded the Win7¦udio lugin plugin by Reiswaffle.
i? ¦dded the luginVirtualDesktops plugin from atrick at Dexpot. This will provide support for
Virtual Desktop Management tools like Dexpot and VirtuaWin.
i? ¦dded new "version checking" functionality, with DisableVersionVhecking= setting in
Rainmeter.ini and on "¦bout" dialog.
i? Re-design of the RainBrowser GI.
i? Major re-design of the Rainmeter and Skins context menus
i? Ôix to Valc measure to properly allow use of numbering systems other than decimal using a
prefix of 0b (binary) 0x (hex) 0o (octal) on the numbers.
i? ¦dded "Group=" to meters and measures in skins, and in Rainmeter.ini to support configs. This
allows many !bangs to operate on multiple entities at once without multiple !bang statements.
i? Major improvement to "logging" in Rainmeter, including new context menu support.
i? ¦ddition of support for multiple monitors when using DesktopWork¦rea. This change is
courtesy of user Jott.
i? ¦ddtion of "ToolTip" functionality, so meters can have standard Windows tooltips when
hovered over.
i? Improvement to image quality when scaling images
? The default value for the pdateRate in the Web arser is now 600 (=10 mins).
? Ôix for the ToggleiTunes command in the iTunes lugin.
? The IgnoreRemovable now defaults to true (1) which should help with the missing disk errors.
? ¦dded Themes submenu to the Rainmeter's context and tray menus.
? Variables can be used under the [Variables] section (as long as they have been defined before the
current variable is read).
? Vhanged RainThemes to automatically create a theme called "¦utoSave" which will contain
your current setup.
? The windows stay visible with Windows 7 ¦ero eek.
? Web arser reads the resource now only if it has been modified. This can be overridden with
ÔorceReload=1.
? !RainmeterRefresh and !RainmeterQuit are now handled only during the event loop since they
can crash the application if executed during pdate().
? It's now possible to use the measures as if they were variables (use [Measure½ame] instead
Variable½ame). Set DynamicVariables=1 for all meters and measures which refer to other
measures.
? ½ew bang !RainmeterSetVariable can be used to change the value of a variable
(DynamicVariables must be 1 in places where the variable is used).
? Skin information and instructions can be added to [Metadata] section.
? ¦spect ratio of the image is preserved when the image is scaled.
? ½ew R¦½DOM function in the V¦LV measure type.
? Ôonts can now be stored in Rainmeter\Ôonts or with the skin and not "installed" in Windows.
? ¦dded support for style sections. MeterStyle can be used in meters to read the values from the
style section.
? ¦dded support for the middle mouse button (MiddleMouseDown¦ction /
MiddleMousep¦ction)
? The skin files can read other files with @include statement.
? If native transparency is enabled the windows are not refreshed anymore when settings change
but they are just moved to the correct location.
? ¦dded a version check for the skins which come with Rainmeter so they can be upgraded.
? ath and filename of the file created by Debug=2 in Web arser is now configurable with
Debug2Ôile="[ ath\]filename.ext"
? The standard "hand pointer" mouse cursor is shown when you hover over a meter with any
"Mouse¦ction" on it or a button.
? ¦dded VRRE½TVO½ÔIG as a "built-in" variable.
? Ôixed: [Measure] contained in ¦ction in Measure and Meter are not replaced when reading skins.
They are replaced only when executing action.
? Ôixed: When the designation of Drive is wrong, a strange volume label is indicated.
? The !bangs can be now used from command line even if there are no active configs.
? Included RainBrowser to the build.
? WiÔiStatus: ¦dded a variable called WifiListLimit=X that allows you control how many access
points to display at a time
? WiÔiStatus: Removed all popup errors, all debugging messages now sent to Rainmeter log file
? WiÔiStatus: Ôixed some memory leaks 7 and Vista users were facing
? Webparser parses the files as TÔ8 by default. The codepage can be changed with Vode age.
? ¦dded proxy support for the webparser.
? The reference measures in Webparser can use RegExps to parse the substring.
? Ôixed few graphics problems with the images.
? Ôixed the background rendering bug and incompatibility problem with DynamicWindowSize.
? Some !bangs didn't work during the first update cycle. Ôixed.
? Ôixed SSID and B¦½DWIDTH in the Wireless lugin.
? WindowMessage lugin uses ostMessage instead of SendMessage so now you can control
Rainmeter with it too :-).
? Ôixed couple of crashes with !RainmeterRefresh-bang.
? The plugin folder can be defined with Rainmeter lugin ath in step.rc.
? The ¦dvancedV can show the process that currently takes the most V time.
? Substitutes are applied in the order they are defined.
? Ôixed a crash with the ing lugin and added TimeoutValue which defines the value on timeout.
? Quote lugin can scan subfolders and it's possible to filter the files by extension.
? The tray meter can load directly icon files.
? Ôixed hit test in BITM¦ measure when alignments are used.
? Ôormat in TIME measure can show the time and date as locale specific string.
? ¦dded OnRefresh¦ction which is executed when the config is refreshed.
? Ôixed uptime in 64-bit build.
? Ôixed !RainmeterLsBoxHook.
? osition changing from the menu works a bit better now.
? Mouse over actions didn't work unless the window was set to draggable. Ôixed.
? ¦dded automatic update checking (it can be enabled from the about dialog).
? Sending bangs to deactivated config shouldn't crash Rainmeter anymore.
? Ôixed a typo: ValueReminder -> ValueRemainder (the old one works still too)
? ¦dded LineStart to the roundline-meter.
10 JL 2004 (Version 0.11 - Beta)
? The OnDesktop setting wasn't read from the config file correctly. Ôixed.
? Meter position can be defined relatively to the previous meter by adding 'r' to the end if the value
(e.g. X=10r).
? Ôixed autoscaling with ½umOfDecimals=0.
? ¦dded Ôormat to LIÔETIME in ower lugin.
? ¦dded ST¦TS2 to ower lugin, which is the same as ST¦TS except that the BatteryÔlag in
SYSTEM_ OWER_ST¦TS is returned as is.
? Ôixed finalization in the plugins.
? Valc-measure's Vounter is separate for each active config.
? Ôixed TrayIcon.
? ¦dded handling of MaxValue to Web arser.
? IM¦GE meter's W and H can be used to scale the image.
? Width of the STRI½G meter is handled correctly for right and center aligned text.
? Mouse leave checks transparent pixels.
? The Web arser can be now used to download images from the net.
? Refresh all updates the skin-list so it's not necessary to restart Rainmeter anymore when
installing new skins.
? Ôixed a crash bug with HISTOGR¦M meter.
? ¦ll substitute strings were not used always. Ôixed.
? ¦dded "Show Log Ôile" to context menu.
? Spaces in config names should now work correctly. se quotes around the name in !bangs.
? se * as config name in bangs to send the command to all active configs.
? ¦dded !RainmeterToggleVonfig-bang.
? ¦dded BarBorder to the B¦R-meter.
? Rainmeter reads now the whole folder structure of the Skins-dir (i.e. skins can be placed into
subfolders).
? Date for local time wasn't calculated correctly. Ôixed.
? Ôixed a bug in ower lugin (the max value of ST¦TS was set incorrectly).
? Inverted measures sometimes gave negative values. Ôixed.
? MBM5plugin's MHZ didn't work. Ôixed.
? ¦dded V speed measure into the ower lugin too. This one measures the current MHz of the
processor.
? Ôixed a memory leak in erfmon and in ¦dvancedV plugins.
? Improved the about dialog.
? Vreated ROT¦TOR meter, which rotates images.
? ¦dded menu items for config & skin editing (opens the ini-file in editor).
? ¦dded TimeZone and DaylightSavingTime to Time measure.
? Most of the values are now doubles instead of integers. This also means that there might be some
inaccuracy with very large values (e.g. diskspace).
? MaxValue and MinValue can be defined for all measures.
? Time measure converts the Ôormat to value (e.g. if Ôormat=%S, a meter bound to it shows values
from 0 to 59).
? MaxRegValue is gone. se MaxValue instead.
? Sysinfo plugin detects now Windows 2003 too.
? Variables can be defined in [Variables] section for 'easy' customization of the configs.
? ¦dded possibility to change the string values with substitute strings.
? Meter's transparency can be changed with ¦lphaValue.
? ¦dded a click through feature (works only with native transparency).
? ¦dded Total to ÔreeDiskSpace and the memory measures.
? ¦dded LineWidth to the Line meter.
? ¦dded Ôlip to Histogram and Line meters.
? Made the string meter multibindable. Several values can be displayed with Text-keyword.
? ¦dded MouseOver¦ction and MouseLeave¦ction to the meters and main window.
? Implemented Valc measure, which can calculate math formulas. The measures can be used as
variables.
? ¦dded Solid to the RO½DLI½E meter, which draws a pie.
? Moved the pdate setting from Rainmeter.ini to the skin's ini-file so that skin can determine it's
update speed.
? ¦verageSize can be used to measures an average value (the parameter is the value window size)
? pdateDivider works for meters too.
? If the image meter is bound to a measure it tries to load the image named after the value (that is
returned as string).
? ¦dded !RainmeterResetStats-bang.
? Ôixed !RainmeterZ os-bang when executed without Litestep.
? ¦dded VlipString to the string meter.
? ¦lwaysOnTop=2 keeps the window on top of other topmost windows (like to taskbar).
? ¦lwaysOnTop=-2 keeps the window on desktop.
? DesktopWork¦rea can be used to change the desktop's work area.
? String meter displays the battery time in HH:MM:SS-format (or "nknown", if it not supported)
? Removed !RainmeterVhangeVonfig and added !Rainmeter¦ctivateVonfig and
!RainmeterDeactivateVonfig
? ¦dded a tray icon. It can be bound to a [TrayMeasure] in Rainmeter.ini.
? The tray icon can be disabled with TrayIcon=0.
? Meters can be moved with !RainmeterMoveMeter.
? Window position can be overridden with RainmeterWindowX and RainmeterWindowY in
step.rc.
? Vonfigs can use ¦ppVersion to inform that they need a specific version of Rainmeter to run.
? The config editor can be changed with VonfigEditor=editor.exe in Rainmeter.ini (don't use
spaces in the filename).
? ½ew Help!
? Rainmeter is not anymore dependant on lsapi.dll. It only uses lsapi.dll's functions if ran as
Litestep plugin.
? The position is not updated to the ini-file if the file has changed.
? ¦dded possibility to choose the measured network interface.
? ½egative coords were saved as very high positive values. ½ow they should be saved as zero.
? ¦dded a autoscaling line meter that can display multiple histograms.
? ¦dded RainmeterVurrentVonfig and RainmeterVurrentVonfigIni step.rc commands that can used
to set a specific config.
? ¦dded MBM5MaxValue for the MBM5 plug-in.
? Ôixed a bug that didn't reset the ¦lwaysOnTop state of the window after refresh.
? ¦lwaysOnTop has now three possible values: -1 puts the window always on bottom, 0 is normal
window positioning and 1 puts it always on top.
? Vhanged the compilation settings and the DLL is a quite a bit smaller now.
? lugins can display string values now too.
? Vreated a SysInfo plugin that displays all kinds of data (I number, OS version, etc.).
? The about dialog is now modeless.
? Ôixed a memory leak in perfmon.dll
? Vreated a ¦dvancedV plugin that allows include/exclude processes in % rocessor Time.
? ¦dded SnapEdges option that snaps the window the the screen edges when moved.
? ¦dded ½umOfDecimals option for the string meter.
? ¦dded !RainmeterToggle bang.
? Ôixed a bug that made the V -meter to go 100% after refreshing on Win9x.
? It is not necessary to name the config file as "Rainmeter.ini", anything that ends with ".ini" will
do. ½ote that this only applies if the name of the config file is defined explicitely.
? If the previously used config cannot be found anymore, the first one is used instead.
? IM ORT¦½T! The configuration file format has been changed and the old ini-files do not work
anymore! ¦lso some of the config keywords have been changed.
? Structural changes to the code (now it is easier to maintain).
? ¦dded GatherStatistics, which is currently only supported by the ½etIn/Out-measures.
? ¦dded lugin measure for external counters. Vheck the source code for example plugin.
? ¦dded Registry measure, which can get data from a given registry key.
? ¦dded button up actions (RightMousep¦ction and LeftMousep¦ction) and renamed the
down actions as RightMouseDown¦ction and LeftMouseDown¦ction
? ¦dded support for actions that are executed when a measure goes above/below certain value.
? Removed the erfMon measure because of incompatibilities with ½T4. The erfMon measure is
now implemented as Rainmeter plugin.
? ¦dded Time-measure.
? Volors can now be defined also as hex values in RGB-format (e.g. ÔontVolor=ÔÔVVDD).
? The position of the window can be stored into the ini-file automatically.
? ¦dded support for multiple configurations. The configs can be changed from context menu.
? If the maximum value for the meters (e.g. ½etInSpeed) is not given it is determined
automatically from the input.
? ¦ll measures can be displayed as percentual strings.
? ¦dded uptime-measure. sable in a string-meter only!
? ¦dded two new meters: Bar and Bitmap.
? ¦dded !RainmeterRefresh bang.
? ¦dded left and right mouse button actions.
? ½ow it is possible to define the location (and the name) of Rainmeter.ini-file in the step.rc with
RainmeterIniÔile.
? ¦dded context menu, which can be used to refresh the window and quit the program if ran as
standalone.
? ¦dded possibility to use images as the backgrounds for the histogram graphs.
? Small adjustments so that Rainmeter can run in a lsbox as *WharfModule. Dunno if it also works
in a real wharf.