Top Banner

of 79

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

ManualDocumentation for the latest release version of Rainmeter. Use links in the sidebar to navigate.

InstallationDownload the latest release or beta version from http://rainmeter.net. The installer (.exe) allows you to install both 'standard' and 'portable' installations. Both 32bit and 64bit installations are done with the same installer. 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 C++ runtime libraries or the .NET libraries. The C++ runtimes are required to use Rainmeter. Chances are you already have them, but if not, Rainmeter will download and install them. The .NET libraries are required to use any of the C# plugins which come with Rainmeter. If you are running on Windows XP you will need at least Windows XP Service Pack 2 to install the .NET libraries. If you elect not to install the .NET files, you will not be able to use any plugins written in C#. Rainmeter is fully compatible with Windows XP, Vista, and Windows 7. 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 "Application Data" folder, and all Rainmeter "skins" are stored in your "My Documents" folder.

Normal InstallationRun the installer. By default Rainmeter will install in "C:\Program Files\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.

Portable InstallationIf 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 'Portable 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 Portable Rainmeter. After the install, you may use the program normally, but can easily take the application "on the road" by copying the entire \Rainmeter folder and subfolders. Note that if you do a portable install, you are responsible for ensuring you have the appropriate C++ and .NET runtime libraries installed on your system.

Silent Installation (advanced)Rainmeter can be installed silently (i.e. without user interaction) starting from version 2.1 beta. This is useful, for example, when deploying Rainmeter during the initial Windows setup. View switches and return values.

Default File LocationsProgram files: Windows XP: C:\Program Files\Rainmeter Windows Vista and later: C:\Program Files\Rainmeter Skins: Windows XP: C:\Documents and Settings\YourName\My Documents\Rainmeter\Skins Windows Vista and later: C:\Users\YourName\My Documents\Rainmeter\Skins Rainmeter.ini and themes: Windows XP: C:\Documents and Settings\YourName\Application Data\Rainmeter Windows Vista and later: C:\Users\YourName\Appdata\Roaming\Rainmeter

UninstallingIf you installed Rainmeter with the installer you can uninstall it from "Add or Remove Programs". If you installed Portable Rainmeter, just delete the folder you browsed for during the install process. Ensure that Rainmeter is not running when uninstalling.

SettingsThere 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 Rainmeter.ini. The skin settings are in the skin's respective .ini files. Rainmeter.ini is in the following location: Windows XP: C:\Documents and Settings\YourName\Application Data\Rainmeter Windows Vista and later: C:\Users\YourName\Appdata\Roaming\Rainmeter The file can be edited by using "Edit Settings" from the Rainmeter context menu or Manager. The Rainmeter.ini file has several sections: [Rainmeter], [TrayMeasure], and 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 a config is opened it will write the settings under its own section in the Rainmeter.ini file. Important: Some of the settings in the Rainmeter.ini file cannot be changed while Rainmeter is running becase a refresh will write the old values back to the ini file. If you cannot change something, try changing the value after completely closing Rainmeter.

Settings-RainmeterThe [Rainmeter] section of Rainmeter.ini defines general Rainmeter settings. The following must be put under the [Rainmeter] section:

Options DesktopWorkArea Sets a new work area for the desktop. The workarea defines the area maximized windows cover. Use 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 ). Note 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 DesktopWorkArea for a specific monitor by adding @ and the number of the monitor to the end of DesktopWorkArea. DesktopWorkArea= or DesktopWorkArea@0= is the primary monitor, and DesktopWorkArea@1 - @xx is a specific monitor. TrayIcon Set to 0 to get rid of the tray icon. TrayExecuteL, TrayExecuteM, TrayExecuteR, TrayExecuteDL, TrayExecuteDM, TrayExecuteDR 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. Note that TrayExecuteR will override the normal context menu in the tray (hold the CTRL key to force default behaviour). ConfigEditor 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 Notepad. Relative paths can be used here, which may be useful for portable installs. SkinPath Is set by Rainmeter automatically (or can be manually changed) to indicate the location of the Config/Skin folders for Rainmeter. The default is: Windows XP: C:\Documents and Settings\YOURNAME\My Documents\Rainmeter\Skins Windows Vista & Win7: C:\Users\YOURNAME\My Documents\Rainmeter\Skins Logging If set to 1, Rainmeter will log errors and other information in a log file stored in %APPDATA%\Rainmeter\Rainmeter.log. You can start, stop, view and delete this log by using the Rainmeter system tray context menu. Debug If set to 1, logging will be more verbose. This setting should be used only when debugging as it negatively impacts performance. Default is 0. DisableVersionCheck By default, Rainmeter will check to see if there is a newer RELEASE 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 . Note that only release (not beta) versions of Rainmeter are checked for.

Settings-TrayMeasureOne 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:

Options Measure The type measure to be shown as the tray icon. The normal parameters for that measure should follow. TrayMeter The manner in which the measure is depicted. This can be either HISTOGRAM or BITMAP. TrayColor1 Defines the background color when TrayMeter=HISTOGRAM . TrayColor2 Defines the foreground color when TrayMeter=HISTOGRAM . TrayBitmap Defines the name of the bitmap used when BITMAP 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 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. TrayBitmap=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. TrayBitmap=tray-%02i.ico will load tray-01.ico, tray-02.ico, ...) Note: To use the default Rainmeter icon as the tray icon, remove the entire [TrayMeasure] section.

Settings-ConfigNameThe following should be put under the the sections for their respective configs, e.g. [illustro\Clock]. Most of these settings can also be set via the skin right-click context menu or through the Manage dialog.

Options WindowX, WindowY 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. AnchorX, AnchorY By default WindowX and WindowY control the position of the upper left corner of the config window. AnchorX and AnchorY allow that anchor position to be changed. The Anchor can be defined in pixels from the upper left corner of the window or as a percentage of the config if % is used. If a letter R or B is added to AnchorX or AnchorY, then the position is relative to the right or bottom edge of the window. As an example, by setting WindowX, WindowY, AnchorX and AnchorY all to 50% the config will be truly centered in the primary monitor regardless of screen resolution or aspect ratio. SavePosition 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. AlwaysOnTop 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. A value -2 pins the window to the desktop and

2 keeps the window on top of other topmost windows. Note that -2 (On Desktop) only works with Explorer.exe as the Window shell. Also 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. A value of -2 (On Desktop) will work with XP/Vista/Windows 7 with the Aero Interface on or off. In Vista and Windows 7 if a skin is set to On Desktop and Windows "Show Desktop" is used (WIN+D), the Rainmeter skins will stay visible. Draggable If set to 1, the window can be dragged around with the mouse. If 0, the window will be stationary. SnapEdges 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. HideOnMouseOver 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). StartHidden If set to 1, the config is hidden when started. You can use !Show bang to make it visible. NativeTransparency Set to 1 for native transparency support (only necessary for Windows XP). AlphaValue The transparency value (0 - 255) for the window. For Windows XP, NativeTransparency must be enabled. FadeDuration 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. ClickThrough 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. KeepOnScreen Set to 1 to keep the windows always on the monitor area. LoadOrder This determines the order in which the configs are loaded. Values can be positive or negative. Configs will load starting with the one with the lowest value for LoadOrder, ending with the highest. Configs loaded first are below those loaded last, for example: Three configs having LoadOrder=1 , LoadOrder=2 and LoadOrder=5 would load the configs in that order, with the config with LoadOrder=-1 appearing beneath the one with LoadOrder=2 which is in turn beneath the config containing LoadOrder=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 tray context menu. Note: The value of LoadOrder has no bearing on what the position of the config is, i.e. "On Desktop", "Normal, "Topmost", etc. Configs 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 "Normal", but two configs in "Topmost" will layer themselves according to their LoadOrder value.

Settings-BuiltInVariables

The following are pre-existing variables that are set and controlled by Rainmeter (i.e. their value cannot be manually changed). These variables may be used anywhere, including within Rainmeter.ini. Note: Built-in Rainmeter variables that stand for a path already contain a trailing slash. #CRLF# - Line break #PROGRAMDRIVE# - Drive Rainmeter is installed to (e.g. C: or \\server\Users\ ) #PROGRAMPATH# - Rainmeter program folder (e.g. C:\Program Files\Rainmeter\ ) #SETTINGSPATH# - Folder of Rainmeter.ini (e.g. %APPDATA%\Rainmeter\ ) #SKINSPATH# - Skins folder (e.g. C:\Users\YourName\My Documents\Rainmeter\Skins\ ) #PLUGINSPATH# - Plugins folder (e.g. C:\Program Files\Rainmeter\Plugins\ ) #ADDONSPATH# - Addons folder (e.g. C:\Program Files\Rainmeter\Addons\ ) #CURRENTPATH# - Path of current skin (e.g. C:\PathToSkinsFolder\illustro\Clock\ ) #CURRENTFILE# - Name of current skin (e.g. Clock.ini ) #CURRENTCONFIG# - Config name of current skin (e.g. illustro\Clock\ ) #ROOTCONFIGPATH# - Highest-level folder under \Skins of current skin (e.g. illustro\ ) #CURRENTSECTION# - Current [Section] name. Note that if used in [Variables], it will return "Variables" wherever used. #WORKAREAX# - X-position of the work area #WORKAREAY# - Y-position of the work area #WORKAREAWIDTH# - Width of the work area #WORKAREAHEIGHT# - Height of the work area #SCREENAREAWIDTH# - Width of the display resolution #SCREENAREAHEIGHT# - Height of the display resolution The variables below are dynamic in nature. As a result, DynamicVariables=1 must be set on the measure or meter in which they are used (note that they cannot be used elsewhere like under the [Rainmeter] section): #CURRENTCONFIGWIDTH# - Width of the current config in pixels #CURRENTCONFIGHEIGHT# - Width of the height config in pixels #CURRENTCONFIGX# - Left screen position of the current config in pixels #CURRENTCONFIGY# - Top screen position of the current config in pixels You may also use Windows environment variables, which can be obtained by the set command in cmd.exe (command prompt). To use them, use the name of the environment variable within two percent sign (e.g. %APPDATA%). Note that environment variables may vary from system to system.

Settings-GroupsConfigs can be categorized into "groups" to allow quick control of multiple configs at once. To add a Config to a group, simply add the Group statement to the section under Rainmeter.ini. Alternatively, you may add Group under the [Rainmeter] section of the skin file. Any 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 of Rainmeter.ini. In this case, that group will be considered the default for all configs that have no groups defined. Example (Rainmeter.ini):[Enigma\Sidebar\Systems] Active=0 WindowX=0 WindowY=0

AlphaValue=255 FadeDuration=250 ClickThrough=0 SavePosition=1 SnapEdges=1 KeepOnScreen=1 Group=Enigma | Systems

The Enigma\Sidebar\Systems config be added to the "Enigma" and "Systems" groups, which can then be controlled through several bangs. Example (skin):[Rainmeter] Update=1000 Author=Me Group=Enigma | Systems

The skin is added to the "Enigma" and "Systems" groups, which can then be controlled through several bangs.

Settings-MonitorsThere is a "Display Monitor" submenu in [Skins Menu]-[Position] of the Rainmeter tray icon. These menus set the position of the skin to the desired monitor in a multiple monitor configuration. "Use default: Primary monitor" Removes the @-directive from WindowX/Y. @0, @1, @2, ... Adds the specified monitor number to WindowX/Y. @0 means "The Virtual Screen". More info at MSDN. "Auto-select based on window position". 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. AutoSelectScreen 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.

Built-in variables for multiple monitorsVariables for the virtual screen: #VSCREENAREAX# is the X-position of the left-side of the virtual screen.

#VSCREENAREAY# is the Y-position of the top-side of the virtual screen. #VSCREENAREAWIDTH# is the width of the virtual screen. #VSCREENAREAHEIGHT# is the height of the virtual screen. Variables for the PRESENT monitor: Note that these variables automatically change by the WindowX and WindowY "@n" settings. If "@n" is not set, these variables return the value of the primary monitor. #WORKAREAX# is the X-position of the left-side of the work area. #WORKAREAY# is the Y-position of the top-side of the work area. #WORKAREAWIDTH# is the width of the work area. #WORKAREAHEIGHT# is the height of the work area. #SCREENAREAX# is the X-position of the left-side of the monitor screen. #SCREENAREAY# is the Y-position of the top-side of the monitor screen. #SCREENAREAWIDTH# is the width of the display resolution. #SCREENAREAHEIGHT# is the height of the display resolution. Variables for the PRIMARY monitor: #PWORKAREAX# is the X-position of the left-side of the work area. #PWORKAREAY# is the Y-position of the top-side of the work area. #PWORKAREAWIDTH# is the width of the work area. #PWORKAREAHEIGHT# is the height of the work area. #PSCREENAREAX# is the X-position of the left-side of the monitor screen. (maybe, always 0) #PSCREENAREAY# is the Y-position of the top-side of the monitor screen. (maybe, always 0) #PSCREENAREAWIDTH# is the width of the display resolution. #PSCREENAREAHEIGHT# is the height of the display resolution. Variables for the SPECIFIED monitor (@1, @2, ...): #WORKAREAX@n# is the X-position of the left-side of the work area. #WORKAREAY@n# is the Y-position of the top-side of the work area. #WORKAREAWIDTH@n# is the width of the work area. #WORKAREAHEIGHT@n# is the height of the work area. #SCREENAREAX@n# is the X-position of the left-side of the monitor screen. #SCREENAREAY@n# is the Y-position of the top-side of the monitor screen. #SCREENAREAWIDTH@n# is the width of the display resolution. #SCREENAREAHEIGHT@n# is the height of the display resolution.

SkinsAll skins are placed in the skin folder. Each skin must be in its own subfolder. The actual skin file is a normal .ini file with several sections that define the skin layout and values. A subfolder may contain several .ini files, but only one .ini file per folder can be active. 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. All the general settings are put under the [Rainmeter] section, details about the are placed in the [Metadata] section, and the variables in the [Variables] section. Then follow the measures (which collect data) and meters (which display data). While it is not necessary to place the sections in this order, it is the convention that is observed by the vast majority of skin authors. Note: 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.

Skins-RainmeterThe [Rainmeter] section of a skin defines skin-wide options.

Background Options Background Name of the background image. If this is omitted a copy of the desktop is taken and used as the background for the meters. Changes to the image are applied in the following order: ImageCrop -> GreyScale -> ImageTint -> ImageFlip -> ImageRotate. BackgroundMode Defines the background mode: o 0 - Image as defined by Background o 1 - Transparent (default if no Background image defined) o 2 - Solid color o 3 - Scaled background image o 4 - Tiled background image ImageCrop Crops the image. The parameters are ImageCrop=X, Y, W, H, Origin . Origin is optional and can be set to one of the following: o 1 - Top left o 2 - Top right o 3 - Bottom right o 4 - Bottom left o 5 - Center (both W and H) Greyscale If set to 1, the image will be greyscaled. ImageTint The color to tint an image. The colors are given in the same manner as SolidColor: RGB(A). 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". Note: 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". ImageFlip Flips the image. Valid values are: o NONE o HORIZONTAL o VERTICAL o BOTH - flips both horizontally and vertically ImageRotate Rotates an image by the defined number of degrees. Negative numbers rotate counter-clockwise. BackgroundMargins 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 SolidColor If the background mode is set to 2, this defines the color of the background. SolidColor2 If the background mode is set to 2, this defines a second color for the background to create a gradient.

GradientAngle If the background mode is set to 2, this defines the angle for the color gradient. The angle is defined in degrees. BevelType If the background mode is set to 2, this draws a beveled edge around the solid background. o 0 - No bevel o 1 - Raised o 2 - Sunken Blur If set to 1, enables Aero blur on supported systems. BlurRegion, BlurRegion2, ... If BlurRegion is not specified, the blur is applied to the entire background of the skin. BlurRegion is defined as follows: o 1,x1,y1,x2,y2 - Rectangular region o 2,x1,y1,x2,y2,r - Rectangular region with rounded corners of radius r o 3,x1,y1,x2,y2 - Elliptic region within the boundaries of the rectangle (x1,y1) are the coordinates for the top-left corner while (x2, y2) are the coordinates for the bottom-right corner. If the first parameter is set to 0, that specific BlurRegionN is ignored. A more detailed description with examples is available at Aero Blur.

Other Options Update 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). A setting of -1 will "disable" ongoing updating for the skin, so it will only update once, on load or refresh. TransitionUpdate 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. DynamicWindowSize If set to 1 the size of the window is calculated during every update. The window is scaled automatically if necessary. DragMargins 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

OnRefreshAction Executes a command or !bang that is executed when the config is refreshed. This includes when the config is opened the first time. Author The name and email of the author of the skin. AppVersion The minimum version of Rainmeter that is needed by this skin.If you specify an AppVersion 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 AppVersion, 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. AppVersion 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 2000000 and Rainmeter 2.1 would be 2001000. LocalFont, LocalFont2, ...

Allows the use of fonts without installing into WINDOWS\Fonts. Example:[Rainmeter] LocalFont=#CURRENTPATH#\TheSaBdCp.ttf

[SomeMeter] Meter=STRING FontFace=TheSansBold-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 FontFace name is used. Details on using fonts with Rainmeter can be found at A Note on Fonts.

Skins-MetadataThis section contains information about the skin itself. Alone, metadata is useful as a consistent and reliable place to learn about a skin, and how it is meant to be used and configured. Metadata is also displayed in the Manage dialog. It is important for all metadata to be written in the [Metadata] section using a specific set of keys. As a skin developer, you should provide appropriate values for all of these keys.

Options Name The name of the skin, including parent suite and variant subname, if applicable. Information A description of the skin, setup and usage instructions, credits, or other documentation elements, as needed. Use pipe separators (" | ") to indicate line breaks. Version The version number of the skin or parent suite. License Permissions and conditions for ports, mods and derivative works. If you use a standard license, e.g. Creative Commons or GNU, you can simply include the name and version of the license.

Skins-VariablesThe 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. Variables are defined as follows under the [Variables] section:VariableName=Value

The variable can then be referred in measures and meters as:#VariableName#

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

[SomeMeter] FontSize=#Size#

[SomeMeter2] FontSize=#Size#

You can also tell Rainmeter to use the literal text of the keyword by adding asterisks inside the tag, as follows:#*VariableName*#

This can be used e.g. in a bang to set the text of a String meter. Instead of only using the value of the variable at the time of the bang, this will send the keyword itself, and the receiving meter will update accordingly. Note: There are several pre-defined variables you can use anywhere in Rainmeter.

Skins-AeroBlurAllows users on Windows Vista or Windows 7 to enable "Aero" blur effects on skins. The Windows desktop background behind a skin with some level of transparency set will be "blurred". This effect uses the built-in Windows Aero effects, including changing colors to match your personalization settings for the Windows theme color. Users on Windows XP or those with Aero or transparency in Aero turned off will see no effect from this functionality. These options must be in the [Rainmeter] section of the skin.

Options Blur Set to 1 to enable blur (default 0). If no BlurRegions are specified, the entire config background region is blurred. BlurRegion, BlurRegion2, ... Defines the area and shape of the region of the skin to be blurred. The setting is in the format BlurRegion=TYPE, TOPx, TOPy, BOTTOMx, BOTTOMy (,RADIUS) The first parameter, the type of the blur region, can be set to: o o o o 0 - Region is disabled 1 - Rectangular region 2 - Rectangular region with rounded corners. An additional parameter for the radius of the corners has to be specified 3 - Elliptical region

The following parameters define the size and shape of the region to be blurred. They are, in order: o TOPx - Top left horizontal point in the skin o TOPy - Top left vertical point in the skin o BOTTOMx - Bottom right horizontal point in the skin o BOTTOMy - Bottom right vertical point in the skin o RADIUS - Radius of the corners of rounded rectangles (for use with type 2 only) Formulas and variables can be used, although dynamic variables and measures aren't supported in the [Rainmeter] section. For example:BlurRegion=1,#MyVar1#,#MyVar2#,(10 + 10),(#SCREENAREAHEIGHT# - 30)

Bangs !ShowBlur / !HideBlur / !ToggleBlur These effect ALL BlurRegions at once. It is used to turn on and off the blur effect in general. !AddBlur "region" / !RemoveBlur "region" These are used to add or remove blur regions. The "region" argument is identical to BlurRegion settings. Example Skin

Skins-DynamicVariablesBy setting DynamicVariables=1 in a measure or meter, the measure or meter will respond to variable changes by the !SetVariable bang. Additionally, if dynamic variables is enabled, a measure's name can be used as a variable by enclosing it in square brackets (e.g. [MyMeasure] ). Dynamic variables can be used in any meter or measure, but not in the [Rainmeter] section. Note: There is also currently no support for dynamic variables in plugins, such as WebParser or QuotePlugin. Example:[Rainmeter] Update=1000

[Variables] Width=100

[MeasureCalc] Measure=Calc Formula=Counter%100

[Square1] Meter=Image SolidColor=255,0,0

W=#Width# H=50 MouseOverAction=!SetVariable Width 200 DynamicVariables=1

[Square2] Meter=Image SolidColor=0,0,255 W=[MeasureCalc] H=50 Y=R 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 MeasureCalc.

Skins-IncludeLoads 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=...

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. A 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. Note: You may use a variable as the name of an @include file, but not a dynamic variable. Example: IncludeFile.inc:[Variables]

Color=255,255,255,255

Skin.ini:[Variables] Font=Arial @Include=IncludeFile.inc

[SomeMeter] FontFace=#Font# FontColor=#Color#

Skins-MeterMeasureGroupsMeasures and meters can be categorized into groups to allow easier control over a set of meters and measures with the Groupbangs!HideMeterGroup). To add a measure or meter to a group, simply add the Group= option. Any number of groups may be added to a section, all of which must be separated by a vertical bar (i.e. | ).. Example: In this example, both of the meters belong to the "CPU" group. In addition, MeterCPUText belongs to the "Strings" group and MeterCPUBar in turn belongs to the "Bars" group.[MeterCPUText] Meter=String MeasureName=MeasureCPU Group=CPU | Strings

[MeterCPUBar] Meter=Bar MeasureName=MeasureCPU Group=CPU | Bars

Meters in the CPU group, for example, can be hidden as follows: !HideMeterGroup CPU

MeasuresMeasures 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.

Note: Some meters require a range of values (BAR, HISTOGRAM, etc) so that they can display the measured value as relative to the minimum and maximum values. Not all measures are able to calculate the minimum and maximum value automatically so you need to do that manually with MinValue and MaxValue.

Measures-GeneralSettingsThese general settings apply to all measure types.

Options Measure This defines what is measured. The valid values are: o CPU - Measures total load from CPU or individual cores. o Memory - Measures overall memory utilization. o PhysicalMemory - Measures allocated physical memory. o SwapMemory - Measures virtual memory allocation. o Uptime - Measures how long computer has been on. This works only in a STRING meter. o NetIn - Measures incoming network traffic. o NetOut - Measures outgoing network traffic. o NetTotal - Measures total network traffic. o FreeDiskSpace - Measures free diskspace. o Plugin - Measure is defined by an external plugin. o Registry - Measures registry values. o Time - Measures time and date. o Calc - Calculates formulas. InvertMeasure If set to 1, the measured value is inverted. For example, you can measure the allocated disk space instead of free space. Disabled If set to 1, the measure is never updated. A disabled measure always returns zero as its value in numerical contexts (e.g. when used in a Calc formula or with IfActions), but may still return a textual value (e.g. when used in String meters). UpdateDivider This value modifies the update rate of the measure. The global Update value (set in the [Rainmeter] section) is multiplied by this number to determine the update rate for the measure. For example, if the Update=1000 and UpdateDivider=30 , the measure is updated every 30 seconds. The default value is 1. A setting of -1 will disable ongoing updates for the measure, so it will only be executed once on load or refresh. MaxValue The maximum value the measure can have. The default is 1.0. Note: This option is used solely to scale the of result of some meters (e.g. HISTOGRAM). The actual value of the measure will remain unchanged. MinValue The minimum value the measure can have. The default is 0.0. Note: This option is used solely to scale the of result of some meters (e.g. HISTOGRAM). The actual value of the measure will remain unchanged.

Substitute A 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. Note: Single and double quotes MUST be "mismatched" on the "find:replace" pairs when using single quotes as a delimiter, or the Substitute will fail. Example: Substitute='"':"None" will replace a quote with the word None. Substitute="None":'"' will replace the word None with a quote. However, Substitute='"':'None' will fail, as you can't use single quotes on both sides of the "find:replace" pairs. An easier to read example is Substitute='red':'blue' , which will fail. RegExpSubstitute If set to 1, it is possible to use Regular Expressions within the substitute string. The section of the original string which is matched by the expression is replaced by the contents of the second part of the substitute pair. This second part can have parts of the original string embedded within it. You must capture any parts of the string you want using parentheses, then these can be referenced by number in the replaced string using \1, \2 etc. It is also possible to use \0 to embed the whole matched section of the string. Examples: Replace a 2 digit number with "It Works", then the first two characters with "This", resulting in "This Works":"\d\d":"It Works","^..":"This"

Mask a IP address:"^(\d{1,3}).(\d{1,3}).(\d{1,3}).\d{1,3}$":"\1.\2.\3.***"

Truncate string by length and append "...":"^(.{10,}).+$":"\1..."

AverageSize Defines the window size of average measuring. For example, when AverageSize=10 , the returned value is the average of last ten values.

Measures-IfActionsMeasure IfActions 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.

Options IfAboveAction A bang or command that is executed when the measure goes above the value defined in IfAboveValue. 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.

IfAboveValue The value used by IfAboveAction. IfBelowAction A 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. IfBelowValue The value used by IfBelowAction. IfEqualAction A 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. IfEqualValue The value used by IfEqualAction. Example Skin

Measures-CalcThe Calc measure is used to calculate formulas.

Options Formula This defines the formula to be calculated. You can use the names of other measures as variables. There is also a special variable called Counter, 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. UpdateRandom When UpdateRandom=1 a new random number is set on each update cycle. When UpdateRandom=0 a random number is set on refresh.

Operators + (addition) - (substraction) * (multiplication) / (division) ** (power) % (remainder or modulus) & (bitwise and) | (bitwise or) ^ (bitwise xor) ~ (bitwise not)

Logical Operators (not equal) = (equal to)

> (greater than) < (less than) && (logical and) || (logical or)

Functions ATAN(x), ASIN(x), ACOS(x), COS(x), SIN(x), TAN(x) - Standard trigonometric functions ABS(x) - Absolute value of x. EXP(x) - Returns ex. LOG(x) - Base 10 logarithm of x. LN(x) - Natural logarithm of x. SQRT(x) - Square root of x. SGN(x) - Return 1 if x is positive, -1 if x is negative. FRAC(x) - Fractional, or decimal, part (e.g. FRAC(1.234) = 0.234). TRUNC(x) - Integer par (e.g. TRUNC(1.234) = 1). FLOOR(x) - Floor of x. CEIL(x) - Ceiling of x. ROUND(x[,precision]) - Rounds x to an integer, or to a specified number of decimal places. Precision is optional.

Constants PI - Pi (~3.14159265...) E - Euler's constant (~2.71828182...)

Conditional Operator ? :

This will evaluate condition 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 (condition) then expr. if true else expr. if false end if

Random FunctionThe word RANDOM returns a random number between the values of "LowBound" and "HighBound" defined in the measure.

Other Bases

The Calc 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: 0b - Binary number (base 2) (ex: 0b110110 - returns 54 in decimal) 0o - Octal number (base 8) (ex: 0o123 - returns 83 in decimal) 0x - Hexadecimal number (base 16) (ex: 0xF1 - returns 241 in decimal) Example skin

Measures-CPUReturns the percentage used of the entire CPU or individual cores.

Options Processor Can 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

Measures-FreeDiskSpaceFreeDiskSpace returns usage statistics for the selected drive.

Options Drive This is the drive for which the disk space is measured. (eg: "C:") Total If set to 1 this returns the total size of the drive. Label If set to 1 this returns the label of the drive. Type If set to 1 this returns the type of the drive. String >> numeric return: o Error >> 0 o Removed >> 1 o Removable >> 3 o Fixed >> 4 o Network >> 5 o CDRom >> 6 o Ram >> 7 IgnoreRemovable If set to 1 (default), removable drives are ignored. If set to 0, removable drives are measured. Be sure to set IgnoreRemovable=0 if you want to measure a USB drive. Note: FreeDiskSpace does not support CD or DVD drives other than Type and Label.

Example Skin

Measures-MemoryMeasures the amount of virtual memory free in bytes. Virtual memory is equal to Pagefile + RAM + RAM.

Options Total If set to 1 this returns the total memory. Example Skin

Measures-NetInOutMeasures various types of network traffic.

NetInMeasures incoming network traffic. NetInSpeed 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. TrafficAction Action to be executed when a certain amount of data has been downloaded. TrafficValue The value used by TrafficAction. Interface The index of the measured NIC. If this is set to 0 (default) all interfaces are added together. Value 1 means the first NIC, 2 the second, etc. Cumulative 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.

NetOutMeasures outgoing network traffic. NetOutSpeed 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. TrafficAction Action to be executed when a certain amount of data has been uploaded. TrafficValue The value for the TrafficAction.

Interface The index of the measured NIC. If this is set to 0 (default) all interfaces are added together. Value 1 means the first NIC, 2 the second, etc. Cumulative 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.

NetTotalMeasures total network traffic. NetTotalSpeed 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. TrafficAction Action to be executed when a certain amount of data has been uploaded and downloaded. TrafficValue The value for the TrafficAction. Interface The index of the measured NIC. If this is set to 0 (default) all interfaces are added together. Value 1 means the first NIC, 2 the second, etc. Cumulative 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

Measures-PhysicalMemoryMeasures the amount of physical RAM memory free in bytes.

Options Total If set to 1 this returns the total physical memory. Example Skin

Measures-PluginA plugin in Rainmeter is a dynamic link library (.dll) program specifically written to provide additional functionality not built into Rainmeter. A plugin is used in Rainmeter with the specific measure type Measure=Plugin. Each plugin in turn has its own settings that must be placed in this section. See Plugins 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 Plugins folder under the location of your Rainmeter.exe and the new plugin can be used like any of the default ones. Note: 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.

Options Plugin The path and name of the plugin relative to the program folder, where Rainmeter.exe is (e.g. Plugin=Plugins\WebParser.dll ). Example Skin

Measures-RegistryProvides a way to read data from the Windows Registry.

Options RegHKey The name of the HKEY. Possible values are: o HKEY_CURRENT_CONFIG o HKEY_CURRENT_USER o HKEY_LOCAL_MACHINE o HKEY_CLASSES_ROOT o HKEY_PERFORMANCE_DATA o HKEY_DYN_DATA RegKey The name of the registry key. RegValue The name of the registry key's value. Only string and long values are supported.

Registry data typesIf you open Regedit.exe to the location you are trying to read, you will notice the second column in the right pane is called "Type". There are several different types, but the two most common - and the two supported by Rainmeter - are REG_SZ and REG_DWORD. If the value is of type REG_SZ it means it is a string. If it is REG_DWORD it is a number. Many of Rainmeter's meter types require a number as input rather than a string. This means that if the value you are trying to read is of type REG_SZ, meters like Line, Histogram, Bar, etc. will not recognize the value. Even if the value is entirely numeric, it will still be read as a string. Numeric string values from the registry can be used as a number if you convert them with a Measure=Calc.[MeasureRegistry] Measure=Registry ...

[MeasureStringToNum] Measure=Calc

Formula=[MeasureRegistry] MinValue=0 MaxValue=100 DynamicVariables=1

Example Skin

Measures-ScriptThe Script measure allows the execution of Lua (a scripting lanague) code. The Lua script can be used to retrieve the values of measures, send bangs, and more. A Lua script can do programming that would be difficult or impossible in native Rainmeter code, and can return values or change settings in the Rainmeter skin.

Options ScriptFile Name of valid Lua script file.

BangsThe Script measure can be controlled with the !CommandMeasure bang. The argument must be valid Lua code and will be executed in the context of ScriptFile. A full explanation of how to use this measure type with the Lua scripting language can be found at Lua Scripting. This guide should be carefully read before creating a skin using the Script measure.

Measures-SwapMemoryMeasures the amount of virtual (swap) memory free in bytes.

Options Total If set to 1 this returns the total swap memory. Example Skin

Measures-TimeMeasures the current time/date.

Options Format 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. TimeZone The timezone value (e.g. TimeZone=+2.0 ). You can use also fractional values. If this is not given the local time is used. DaylightSavingTime 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.

Format codesFull details on Time/Date formatting codes can be found at msdn.microsoft.com. %a - Abbreviated weekday name %A - Full weekday name %b - Abbreviated month name %B - Full month name %c - Date and time representation appropriate for locale %d - Day of month as decimal number (01 - 31) %H - Hour in 24-hour format (00 - 23) %I - Hour in 12-hour format (01 - 12) %j - Day of year as decimal number (001 - 366) %m - Month as decimal number (01 - 12) %M - Minute as decimal number (00 - 59) %p - Current locale's A.M./P.M. indicator for 12-hour clock %S - Second as decimal number (00 - 59) %U - Week of year as decimal number, with Sunday as first day of week (00 - 53) %w - Weekday as decimal number (0 - 6; Sunday is 0) %W - Week of year as decimal number, with Monday as first day of week (00 - 53) %x - Date representation for current locale %X - Time representation for current locale %y - Year without century, as decimal number (00 - 99) %Y - Year with century, as decimal number %z, %Z - Either the time-zone name or time zone abbreviation, depending on registry settings %% - Percent sign # - A "#" character used before a code (%#d) will removing leading zeros from the result. Example Skin

Measures-UpTimeReturns the amount of time since the last restart of the computer.

Options Format Format to display the output. The default is Format="%4!i!d %3!i!:%2!02i!" .

o %4 - Days o %3 - Hours o %2 - Minutes o %1 - Seconds o !i! - Putting this after the format code shows the numbers with no leading zeros o !02i! - Putting this after the format code shows the numbers with leading zeros AddDaysToHours If %4 (days) is not included in the Format statement, %3 (hours) will be incremented by days * 24. To disable this, set AddDaysToHours to 0 (default 1). Example Skin

MetersMeters 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

Meters-GeneralSettingsThe following are setting which apply to all meter types.

Options Meter Indicates the type of the meter. The valid values are: o BAR o BITMAP o BUTTON o HISTOGRAM o IMAGE o LINE o ROTATOR o ROUNDLINE o STRING MeterStyle The name of a [Section] containing settings for meter attributes you wishto share with multiple meters. See MeterStyles for details.

MeasureName 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. X 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. Y 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. W 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 STRING 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. H The height of the meter. This can also be left undefined under the same conditions as W. Note: 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) ). Hidden If set to 1, the meter is hidden. UpdateDivider This value modifies the update rate of the meter. The global Update value (set in the [Rainmeter] section) is multiplied by this number to determine the update rate for the meter. For example, if the Update is set to 1000 and the UpdateDivider is 30, the meter is updated every 30 seconds. The default value is 1. SolidColor The color of the meter's background. The value is given in RGB(A) format: Red, Green, Blue and an optional Alpha 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. SolidColor2 An optional second color for the meter's background to create a gradient. This follows the same format as SolidColor. GradientAngle The angle of the meter's background color gradient. The angle is defined in degrees. BevelType This draws a beveled edge around the solid background. o 0 - No bevel (Default) o 1 - Raised o 2 - Sunken AntiAlias If set to 1, the meter is drawn as antialiased.

Meters-ColorCodesRainmeter uses colors in the settings of many different meters. FontColor

FontEffectColor SolidColor PrimaryColor SecondaryColor BothColor BarColor LineColor HorizontalLineColor

Color codes in Rainmeter are based on RGBA, 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. You may leave off the alpha value, and Rainmeter will default to 255 / FF, or fully opaque. Decimal format: SolidColor=RRR,GGG,BBB,AAA The RRR component controls the intensity of red ranging from 0 to 255 (full saturation). The GGG component controls the intensity of green ranging from 0 to 255 (full saturation). The BBB component controls the intensity of blue ranging from 0 to 255 (full saturation). The AAA component controls the transparency ranging from 0 (transparent) to 255 (full saturation). Hexadecimal format: SolidColor=RRGGBBAA The RR component controls the intensity of red in hex, with FF being full saturation. The GG component controls the intensity of green in hex, with FF being full saturation. The BB component controls the intensity of blue in hex, with FF being full saturation. The AA component controls the transparency in hex, with 00 being transparent and FF being fully opaque. Note: 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. A online color picking tool which will provide the RGB and HEX codes for a color can be found at Rainmeter Color Picker.

ExamplesSolid 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

Meters-MeterStyleMeterStyles allow CSS-like common "styles" for meters. This allows you to centralize common parameters for meter into a single section. Using the MeterStyle option will essentially cause the specific meter to inherit all applicable properties from the given style. A style is just another section (it can even be a meter). Multiple styles can be used by separating them with a pipe (i.e. Style1 | Style2 | ... ).

Note: You may not "daisy chain" MeterStyles. In other words although a meter may be used as a MeterStyle for another meter, that second one may not be used as a MeterStyle for a third. Example Skin

Meters-ANoteOnFontsFonts are used in String meters through the FontFace option. Fonts can either be installed directly into Windows (allowing the font to be available to all installed programs) or you can use the LocalFont option (under the [Rainmeter] section) to restrict the font to Rainmeter only (and not require a separate install).

Using fonts The font must be a .ttf (TrueType) font, and not a .otf (OpenType) font. If you have downloaded a .otf file, it is possible, but not certain, that you can convert this file using FontConverter.com online. Once you have converted the file, try using it. I have found that about 70-80% of .otf fonts can successfully be converted and used. Even better results can be had with a font conversion tool like FontCreator, but almost none of these are free. There isFontForge, but this must be run in a unix environment and while it can be done with the CygWin unix-in-windows utility, this is NOT for the faint of heart or new Windows user. You must use the "Family Name" 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 "Font Name:" at the top left. Now, this also has a "gotcha". Many fonts have subfamily names that are appended on the "Family Name" in Windows font viewer. The Font Name: may be MyFont-Bold or MyFont Bold or MyFont BoldItalic" You should not use these subfamily postfixes when identifying the font in Rainmeter with FontFace=xxx. This can involve a bit of trial and error, but in this example FontFace=MyFont is the mostly likely correct entry. Most, but not ALL 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. 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 Arial instead of your font. This will be what happens if you use a .otf font, or if you use the wrong "Family Name" for the font. It gives an error, like "Can'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.

Installing fontsInstall the font by right clicking it and selecting "Install Font". This will install the font in Windows\Fonts and it will be available in Rainmter and all other Windows applications. Note: Rainmeter must be restarted after installing fonts in order for Rainmeter to detect the change. Use the font with the Family Name in a Meter=STRING meter.

[MeterName] Meter=String FontFace=MyInstalledFont

Using LocalFontPlace the actual .ttf font file in a folder. Use the LocalFont="Path\FileName.ttf" option in the [Rainmeter] section of your skin. Then use the Family Name in FontFace=xxx as normal. Note: You may use more than one LocalFont in [Rainmeter] by simply adding a number: LocalFont2, LocalFont3, ...[Rainmeter] LocalFont="#CURRENTPATH#SomeFont.ttf

[MeterName] Meter=String FontFace=MyLocalFont

Example Skin

Meters-ToolTipsThis 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.

Options ToolTipText (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 #CRLF# at the point you want a line break. This setting must be defined to use a ToolTip. Values of MeasureName can also be used in the %1, %2 etc. as appropriate for various meter types: o Line, String: %1, %2, %3, ... o Histogram: %1, %2 o Others: %1 ToolTipTitle (optional) This sets a bold title for the tooltip. This can only be one line, so #CRLF# will not work here. ToolTipIcon (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: o INFO o WARNING o ERROR

o QUESTION o SHIELD (Windows Vista and newer) To use an icon in your tooltip you must also define ToolTipTitle. Otherwise the icon will not be displayed. ToolTipType (optional) This defines the style of the tooltip, by default, this is 0, a regular tooltip. If set to 1 the tooltipwill appear as a balloon. ToolTipWidth (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. Note: As a ToolTipTitle cannot be wrapped, do not set this width less than the length of the title, or there could be unexpected results. ToolTipHidden (optional) If set to 1, the ToolTip is not displayed. ToolTipHidden can also be used in the [Rainmeter] section to hide all tooltips in the skin.

Meters-TransformationMaxtrixThis defines a 3x2 matrix which can be used to transform the meter. There must be exactly 6 values separated by semicolons (e.g. TransformationMatrix=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: a - Scale horizontally b - Skew along the y-axis c - Scale vertically d - Skew along the x-axis e - Translate (i.e. move) horizontally f - Translate vertically Combining these can have drastic effects on the meter it is applied to. For more comprehensivev information on TransformationMatrix, read this forum thread. The following are some examples showing the actual matrix and the corresponding TransformationMatrix values: Flip X along line x=20:|-1 0 2x| |-1 0 40|

| 0 1 0 | = | 0 1 0 | TransformationMatrix=-1;0;0;1;40;0

Flip Y along line y=50:|1 0 0 | |1 0 0 |

|0 -1 2*y| = |0 -1 100|

TransformationMatrix=1;0;0;-1;0;100

Scale X by 0.5 (at x=50):|0.5 0 0.5*x| |0 1 0 |0.5 0 25| 1 0 |

| = |0

TransformationMatrix=0.5;0;0;1;25;0

Note: All transformations are relative to the top left corner of the window 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. Also 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.

Meter-BarBar 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. Changes to the bitmap are applied in the following order: ImageCrop -> GreyScale -> ImageTint -> ImageFlip -> ImageRotate.

Options BarColor The color of the bar. The colors are given in the same manner as with SolidColor: RGB(A). BarImage The image that is used behind the bar. This can be used instead of the BarColor. BarBorder 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). ImageCrop Crops the image. The parameters are ImageCrop=X, Y, W, H, Origin . Origin is optional and can be set to one of the following: o 1 - Top left o 2 - Top right o 3 - Bottom right o 4 - Bottom left o 5 - Center (both W and H) Greyscale If set to 1, the image will be greyscaled. ImageTint The color to tint an image. The colors are given in the same manner as SolidColor: RGB(A). 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". Note: 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". ImageFlip Values are NONE, HORIZONTAL, VERTICAL or BOTH. ImageRotate Rotates an image by the defined number of degrees. Negative numbers rotate counter-clockwise. ColorMatrixN The ColorMatrix 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, Alpha 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 (ColorMatrix5) determining offset values that are added directly to the color. (ex: ColorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More information on ColorMatrix is available at ColorMatrix Unleashed. ImageAlpha Change 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 Alpha parameter in the ImageTint setting. BarOrientation The orientation of the bar. Valid values are HORIZONTAL or VERTICAL. Flip Set to 1 to flip the direction of the bar. Example Skin

Meter-BitmapThe 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. For 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. Changes to the bitmap are applied in the following order: GreyScale -> ImageTint -> ImageFlip.

Options

BitmapImage 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). Also, 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. BitmapFrames The number of frames in the image. BitmapTransitionFrames 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 TransitionUpdate 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 TransitionUpdate * BitmapTransitionFrames. Note that BitmapFrames 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 BitmapFrames should be set to 50 and BitmapTransitionFrames to 4. BitmapZeroFrame 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. BitmapExtend If set to 1 the bitmap is extended so display the whole value. For 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. BitmapDigits Number 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. BitmapAlign Defines the alignment of the bitmap value. Valid values are LEFT, CENTER and RIGHT. Works only when BitmapExtend is set to 1. BitmapSeparation Separation between digits when BitmapDigits is higher than one. This can also be a negative number. ImageTint The color to tint an image. The colors are given in the same manner as SolidColor: RGB(A). 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". Note: 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". ImageFlip Values are NONE, HORIZONTAL, VERTICAL or BOTH. ColorMatrixN The ColorMatrix 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, Alpha 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 (ColorMatrix5) determining offset values that are added directly to the color. (ex: ColorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More information on ColorMatrix is available at ColorMatrix Unleashed. ImageAlpha Change 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 Alpha parameter in the ImageTint setting. Example Skin

Meter-ButtonThe button meter cannot be bound to any measure. Its entire purpose is to make the creation of buttons easier. A button can display a normal, clicked and hover state of an image and perform an action automatically. Changes to the button image are applied in the following order: GreyScale -> ImageTint -> ImageFlip.

Options ButtonImage 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 here. ButtonCommand The command or !bang that is executed when the button is pressed. Greyscale If set to 1, the image will be greyscaled. ImageTint The color to tint an image. The colors are given in the same manner as SolidColor: RGB(A). 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". Note: 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". ImageFlip Values are NONE, HORIZONTAL, VERTICAL or BOTH. ColorMatrixN The ColorMatrix 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, Alpha 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 (ColorMatrix5) determining offset values that are added directly to the color. (ex: ColorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More information on ColorMatrix is available at ColorMatrix Unleashed. ImageAlpha Change 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 Alpha parameter in the ImageTint setting. Example Skin

Meter-HistogramHistograms 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. Changes to the images are applied in the following order: ImageCrop -> GreyScale -> ImageTint -> ImageFlip -> ImageRotate.

Options SecondaryMeasureName or MeasureName2 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. PrimaryColor Color for the primary histogram. The colors are given in the same manner as with SolidColor. SecondaryColor Color for the secondary histogram. BothColor Color that is used when the primary and secondary histograms are on top of each other. PrimaryImage Name 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 PrimaryImage you must also define SecondaryImage and BothImage if you have a secondary measure in the same histogram, Not SecondaryColor or BothColor. SecondaryImage Name of the image that is used behind the secondary histogram. BothImage Name of the image that is used when the primary and secondary histograms are on top of eachother.

PrimaryImageCrop, SecondaryImageCrop, BothImageCrop Crops the image. The parameters are PrimaryImageCrop=X, Y, W, H, Origin . Origin is optional and can be set to one of the following: o 1 - Top left o 2 - Top right o 3 - Bottom right o 4 - Bottom left o 5 - Center (both W and H) PrimaryGreyscale, SecondaryGreyscale, BothGreyscale If set to 1, the image will be greyscaled. PrimaryImageTint, SecondaryImageTint, BothImageTint The color to tint an image. The colors are given in the same manner as SolidColor: RGB(A). 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". Note: 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". PrimaryImageFlip, SecondaryImageFlip, BothImageFlip Values are NONE, HORIZONTAL, VERTICAL or BOTH. PrimaryImageRotate, SecondaryImageRotate, BothImageRotate Rotates an image by the defined number of degrees. Negative numbers rotate counter-clockwise. PrimaryColorMatrixN, SecondaryColorMatrixN, BothColorMatrixN The ColorMatrix 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:

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, Alpha 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 (PrimaryColorMatrix5) determining offset values that are added directly to the color. (ex: PrimaryColorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More information on ColorMatrix is available at ColorMatrix Unleashed. PrimaryImageAlpha, SecondaryImageAlpha, BothImageAlpha Change 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 Alpha parameter in the ImageTint setting. Autoscale If set to 1, the histogram is automatically scaled to show all the values. Flip If set to 1 the meter is flipped upside-down. Example Skin

Meter-ImageThe 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. Changes to the image are done by applied in the following order: ImageCrop -> GreyScale -> ImageTint -> ImageFlip -> ImageRotate.

Options ImageName Name of the image to be displayed. ImageName can also be the result of values returned by one or more measures:

Meter=IMAGE MeasureName=SomeMeasure MeasureName2=SomeMeasure2 ImageName=%1-%2.png

If ImageName is not specified, the value of MeasureName appended with the .png extension is used as the image. Path Location of the the image relative to the skin's folder. AntiAlias If set to 1, the image has antialias interpolation routines applied to it when displayed. PreserveAspectRatio If set to 1, the aspect ratio of the image is preserved when the image is scaled. Set to 0 by default. You can specify both W and H with PreserveAspectRatio=0 , and it will scale the image to the exact specified size. Aspect ratio is not preserved. o You can specify W or H alone with PreserveAspectRatio=1 , and the image will be scaled to the given value, with the other undefined "aspect" being automatically scaled to preserve the aspect ratio. o You can specify both W and H with PreserveAspectRatio=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. o 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. o Image meters can use [MeasureName] 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. ImageCrop Crops the image. The parameters are ImageCrop=X, Y, W, H, Origin . Origin is optional and can be set to one of the following: o 1 - Top left o

o 2 - Top right o 3 - Bottom right o 4 - Bottom left o 5 - Center (both W and H) ScaleMargins Allows a definition of margins on an image, where the image will not be scaled by the meter's W and H settings. ScaleMargins=left, top, right, bottom (Example: ScaleMargins=10, 50, 10, 50 )

Note: ScaleMargins is only allowed if Tile and PreserveAspectRatio are not used. Greyscale If set to 1, the image will be greyscaled. ImageTint The color to tint an image. The colors are given in the same manner as SolidColor: RGB(A). 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". Note: 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". ImageFlip Values are NONE, HORIZONTAL, VERTICAL or BOTH. ImageRotate Rotates an image by the defined number of degrees. Negative numbers rotate counter-clockwise. Tile Tiles (repeats) an image within the bounds set by W and H on the image meter. ColorMatrixN The ColorMatrix 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, Alpha 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 (ColorMatrix5) determining offset values that are added directly to the color. (ex: ColorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More information on ColorMatrix is available at ColorMatrix Unleashed. ImageAlpha Change 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 Alpha parameter in the ImageTint setting. Example Skin

Meter-LineThe line meter shows the values of a measure as a graph with a line connecting each data point. Any 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.

Options LineCount Number of lines in the meter. There can be any number of lines in the same meter. Note that the number for the first line is never given (i.e. MeasureName, LineColor and Scale are all used for the first line, with numbers added for subsequent lines). MeasureName, MeasureName2, ... The name of the measure for the line N. LineColor, LineColor2, ... The color of the line N. The colors are given in the same manner as with SolidColor: RGB(A). Scale, Scale2, ... The scale of the line N. The measured value is multiplied by this value. AutoScale If 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. HorizontalLines If set to 1 horizontal lines are drawn behind the histogram lines. HorizontalLineColor The color of the horizontal lines. The colors are given in the same manner as with SolidColor: RGB(A). LineWidth The width of the line in pixels. Flip If set to 1 the meter is flipped upside down. Example Skin

Meter-RotatorThe 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. Changes to the image are done by applied in the following order: ImageCrop -> GreyScale -> ImageTint -> ImageFlip -> ImageRotate.

Options ImageName Name of the image to be rotated. ImageCrop Crops the image. The parameters are ImageCrop=X, Y, W, H, Origin . Origin is optional and can be set to one of the following: o 1 - Top left o 2 - Top right

o 3 - Bottom right o 4 - Bottom left o 5 - Center (both W and H) Greyscale If set to 1, the image will be greyscaled. ImageTint The color to tint an image. The colors are given in the same manner as SolidColor: RGB(A). 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". Note: 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". ImageFlip Values are NONE, HORIZONTAL, VERTICAL or BOTH. ImageRotate Rotates an image by the defined number of degrees. Negative numbers rotate counter-clockwise. ColorMatrixN The ColorMatrix 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, Alpha 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 (ColorMatrix5) determining offset values that are added directly to the color. (ex: ColorMatrix5=0.5; 0; 0; 0; 1 will add 50% to the red value). More information on ColorMatrix is available at ColorMatrix Unleashed. ImageAlpha Change 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 Alpha parameter in the ImageTint setting. OffsetX X-offset of the center of rotation. OffsetY Y-offset of the center of rotation. StartAngle The start angle for the line. This is in radians and the zero angle at the right. The defualt rotation direction is clockwise. RotationAngle The size of the rotation angle for the line. Use negative value for counter-clockwise rotation. ValueRemainder Use remainder instead of the actual measured value. This can be used to draw analog clock. Example Skin

Meter-RoundlineThe 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.

Options LineWidth The width of the line in pixels LineLength This defines the length of the line. The length is always measured from the center of rotation (no matter what the LineStart value is). ControlLength, LengthShift If ControlLength is set to 1, the measure value controls the LineLeng