R A I N M E T E R

Version 0.9

Info:
 
 
 
 
 
 
Rainmeter is a customizable resource meter that can display various performance data in different formats. Rainmeter supports these measures:
  • CPU load
  • Allocated Memory
  • Network Traffic
  • NT performance data
  • Uptime
  • Free disk space
  • ...and plenty of other stuff

The data can be displayed in a histogram, a bar, bitmap frames or just plain numbers.

The application is a Litestep LoadModule plugin, but it can be used without the Litestep as well. You can use it even with the normal Explorer-shell if you like. Rainmeter also implements Litestep's wharf-interface so that it can be used with the lsbox-module. It might also work in a real wharf but this has not been tested as Rainmeter is not meant to be used in a wharf.

Rainmeter is developed and tested on WinXP, but it should work on Win98/ME also though Win9x is not officially supported. Also note that most of the included skins do not work on Win9x, since it doesn't support transparency.

And no, Rainmeter does not measure how much it rained last night (at least not yet ;-)

 
Install:
 
 
 
 
 
 
IMPORTANT: Rainmeter uses gdi+, so unless you are running WindowsXP you need to download the gdiplus.dll from here (just put the dll into the same folder where Rainmeter is).

Installing for Litestep

To install just copy everything from the zip-file to a Rainmeter-subfolder in your Litestep-folder (i.e. wherever $litestepdir$ variable points to. Usually C:\Litestep\). You don't need the Rainmeter.exe if you are using Rainmeter as Litestep plugin, but there is no harm keeping that also in the folder.

After copying, open your step.rc and add following line:

LoadModule $litestepdir$Rainmeter\Rainmeter.dll

... and recycle. Most of the configuration of Rainmeter is done in a Rainmeter.ini file and not in the step.rc. Check the next section for details.

Installing for some other shell (e.g. Explorer)

Get the installer version of Rainmeter from my web page (http://www.iki.fi/rainy) and run it.

Uninstalling

If you installed Rainmeter with the installer you can uninstall it from the "Add or Remove Programs". Otherwise just delete all the files you uncompressed from the zip-file (make sure that Rainmeter isn't running when doing that).

Running multiple instances of Rainmeter

You can run several instances to Rainmeter at the same time. To do this you need to create a two (or more) different Rainmeter.ini files (i.e. just copy the original & rename). Now when you start Rainmeter you just give the path and name of the ini-file to Rainmeter.exe as command line argument.

 
Config:
 
 
 
 
 
 
There isn't any fancy GUI (and probably never will be), so you need to change the settings with your favorite texteditor. The settings for Rainmeter are scattered to several places, but for most of you the Rainmeter.ini is the only place you need to make changes. The general configuration settings are in a Rainmeter.ini-file. The skin settings are in the skin's ini-files. The Litestep's step.rc only has few optional entries, which can be used to define the paths and select the skin.

Step.rc

RainmeterIniFile
This can be set to point to the Rainmeter.ini file if it is not placed in the default place (i.e. in the Rainmeter.dll's folder).

RainmeterSkinPath
This defines the path where the skins are. The skins must be in separate subfolders under the given folder.

RainmeterCurrentConfig
The name of current config. This can be used to force the use of some config. You must also define RainmeterCurrentConfigIni.

RainmeterCurrentConfigIni
The name of current config ini-file.

Rainmeter.ini

The file has two sections [Rainmeter] and [Statistics]. The Rainmeter section contains general settings that can be used to change how Rainmeter behaves. The Statistics section contains some things that few measures store in there. Do not modify them by hand.

These must be put under [Rainmeter] section.

WindowX
X-position of the meter window. Negative values can be used too, in which case the position is relative to right edge of the screen. If Rainmeter is ran inside a lsbox the window position should be set to 0.

WindowY
Y-position of the meter window. Negative values can be used too, in which case the position is relative to bottom edge of the screen.

AllowNegativeCoordinates
If set to 1, the negative coordinates are interpret as negative. Otherwise they define offset from the bottom right corner of the desktop (like most Litestep modules do).

SavePosition
If set to 1, the position of the window is stored in the Rainmeter.ini file so that it'll 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 back of the other windows.

Draggable
If set to 1, the window can be dragged around with the mouse. If 0, the window stationary.

SnapEdges
If set to 1, the window will snap to screen edges when moved.

Update
The update time for the meters. The value should be given in milliseconds. The default value is 1000 (i.e. one second).

HideOnMouseOver
If set to 1 the meter window will disappear if the mouse pointer is moved on it. The window will reappear when the mouse pointer is moved off the position where the window was. If shift, ctrl or alt is hold while moving the mouse, the window will not disappear (or reappear).

StartHidden
If set to 1, Rainmeter is hidden when started. You can use !RainmeterShow-bang to make it visible.

LeftMouseDownAction
Command or a bang that will be executed when the left mouse button is pressed down over the Rainmeter's window. Note that this disables the dragging.

RightMouseDownAction
Command or a bang that will be executed when the right mouse button is pressed down over the Rainmeter's window.

LeftMouseUpAction
Command or a bang that will be executed when the left mouse button is released over the Rainmeter's window.

RightMouseUpAction
Command or a bang that will be executed when the right mouse button is released over the Rainmeter's window. Note that this disables the context menu.

Skin's ini-files

The ini-file is divided into three parts. All the general settings are put under [Rainmeter] section. After the general stuff comes the measures, which do the actual measuring. After the measures comes meters, which are visual representations of the measures. There can be many meters for one measure.

These must be put under [Rainmeter] section. Advanced note: you can also override the Rainmeter.ini's settings by putting the above keywords into the skin ini's [Rainmeter] section.

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. Pink color (255, 0, 255) can be used as transparent color. You can use BMPs, JPGs and PNGs (with alpha channel!)

BackgroundMode
Defines the background mode:

  • 0 = Image as defined by Background
  • 1 = Transparent
  • 2 = Solid color

SolidColor
If the background mode is set to 2, this defines the color of the background.

BevelType
This draws a bevel edge around the solid background. 0 = no bevel, 1 = raised, 2 = sunken.


Measures

Each measure needs to have a unique name, which defines a section in the ini-file for that measure. The name needs to be put inside []-characters. The meters use the section names to bind to the measures. Check the supplied ini-file for example.

Measure
This defines what is measured. The valid values are:

  • CPU - Measures CPU load. Gives quite random results on Win9x.
  • Memory - Measures overall memory utilization.
  • PhysicalMemory - Measures allocated physical memory.
  • SwapMemory - Measures allocated swap.
  • NetIn - Measures incoming network traffic.
  • NetOut - Measures outgoing network traffic.
  • NetTotal - Measures outgoing network traffic.
  • FreeDiskSpace - Measures free diskspace.
  • PerfMon - Gets NT's performance data. Only works on NT (naturally).
  • Uptime - Shows how long your computer has been on. This works only in a STRING-meter.
  • Plugin - Measure is defined by an external plugin.
  • Registry - Measures registry values.
  • Time - Measures time and date. This works only in a STRING-meter.

InvertMeasure
If set to 1,
the measured value is inverted. E.g. you can measure allocated disk space instead of free space.

IfAboveAction
A bang or command that is executed when the measure goes above the value defined in IfAboveValue. The action is executed only when the measure exceeds the value, so the it needs to go below the defined value before the action is executed again.

IfAboveValue
The value for
IfAboveAction.

IfBelowAction
A bang or command that is executed when the measure goes below the value defined in IfBelowValue. The action is executed only when the measure falls below the value, so the it needs to go above the defined value before the action is executed again.

IfBelowValue
The value for
IfBelowAction.

Disabled
If set to 1, the measure is disabled at start.

UpdateDivider
This value determines how often the measures are updated. This is bound to the Update value. For example if the Update is set to 1000 and the UpdateDivider is 30, the measure is updated every 30 seconds. The default value is 1.


Some of the measures can have special settings:

NetIn

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


NetOut

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


NetTotal

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


FreeDiskSpace

Drive
This is the drive which diskspace is measured. E.g. "C:\"


Plugin

Plugin
This defines the name of the plugin that handles the actual measuring.


Registry

RegKey
The name of the registry key.

RegHKey
The name of the HKEY. Possible values are: HKEY_CURRENT_CONFIG, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_PERFORMANCE_DATA and HKEY_DYN_DATA.

RegValue
The name of the registry keys value. Only string and long values are supported.

MaxRegValue
The maximum value the measured registry value can have. Set this to 0 if unknown.


Time

Format
The format how the time is written. E.g. "%H:%M:%S". You can find out all the format codes from here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_strftime.2c_.wcsftime.asp


Meters

After the measures are defined comes the meter sections. Each meter needs to have an unique name, which is defined like with the measures.

MeasureName
The name of the measure that this meter displays.

X
The X-position of the meter inside the window.

Y
The Y-position of the meter inside the window.

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

H
The height of the meter. This can also be left undefined under the same conditions as W.

Hidden
If set to 1, the meter is hidden.

LeftMouseDownAction
RightMouseDownAction
LeftMouseUpAction
RightMouseUpAction
These are the same as with the global settings except that they only apply to the specific meter. I.e. The mouse action is only executed when the mouse is on the meter's area. These settings override the global setting.

Meter
Type of the meter. The valid values are:

  • HISTOGRAM
  • STRING
  • BAR
  • BITMAP
  • IMAGE
  • LINE

Histogram

SecondaryMeasureName
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 RGB format. Separate the color components with ",". E.g. 10,30,255

SecondaryColor
Color for the secondary histogram.

BothColor
Color that is used when the primary and secondary histograms are on top of eachother.

PrimaryImage
Name of the image that is used behind the secondary histogram. You can only 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).

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.

Autoscale
If set to 1, the histogram is automatically scaled to show all the values.


String

FontColor
The color of the text.

Prefix
String that is displayed before the value.

Postfix
String that is displayed after the value.

FontFace
Name of the font

FontSize
Size of the font.

StringAlign
The alignment of the string. The valid values are: LEFT, CENTER and RIGHT.

StringStyle
Style of the string. The valid values are: NORMAL, BOLD, ITALIC and BOLDITALIC.

Scale
Scaling factor for the measured value. The measured value is divided 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.

AutoScale
If set to 1, the value is scaled automatically. This setting overrides Scale. The value is automatically postfixed with T, G, M or k depending how much it was scaled.

Percentual
If set to 1, the value is displayed in percents.

NumOfDecimals
The number of decimals used in the displayed value.

AntiAlias
If set to 1, the text is drawn as antialiased.


Bar

BarColor
The color of the bar.

BarImage
The image that is used behind the bar. This can be used instead of the BarColor.

BarOrientation
The orientation of the bar. Valid values are:

  • HORIZONTAL
  • VERTICAL

Bitmap

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

BitmapFrames
The number of  frames in the bitmap.

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.


Image

Note that this meter need's not to be bound on any measure as it really doesn't show the measured value in any way. The purpose for this meter is to make skinning easier.

ImageName
Name of the image to be displayed.


Line

LineCount
Number of lines in the meter. There can be any number of lines in the same meter. The below settings are set for the different lines by specifying the line number after the name. Note that the [N] for the first line is never given. So, for example to set the color of the first line you'd give "LineColor=255,0,0" and for the second line "LineColor2=0,0,0", etc.

MeasureName[N]
The name of the measure for the line [N].

LineColor[N]
The color of the line N.

Scale[N]
The scale of the line N. The measured value is multiplied with this.

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

HorizontalLines
If set to 1 horizontal lines are drawn behind the histogram lines.

HorizontalLineColor
The color of the horizontal lines.

AntiAlias
If set to 1, the lines are drawn as antialiased.


Roundline

LineWidth
This defines the width of the line (1.0 = one pixel).

LineLength
This defines the length of the line.

StartAngle
The start angle for the line. This is in radians and the zero angle is towards positive x-axis. Normal rotation direction is clockwise.

RotationAngle
The size of the rotation angle for the line. Use negative value for counter-clockwise rotation.

AntiAlias
If set to 1, the line is antialiased.

ValueReminder
Use remainder instead of the actual measured value. This can be used to draw analog clock (check the example in the example skin files).

LineColor
The color of the line.
 

 
Plugins:
 
 
 
 
 
 

A Rainmeter plugin is a DLL that exports these functions:

UINT Initialize(HMODULE instance, LPCTSTR iniFile, LPCTSTR section, UINT id);
void Finalize(HMODULE instance, UINT id);
UINT Update(UINT id);

The Initialize function is called when the measure is initialized. The function returns the maximum value that can be measured. If the maximum value is unknown the function should return 0. The plugin can also have it's own settings which can be loaded from the iniFile and the section given as parameters to the initialize function. the id-parameter is used to identify individual measures if there are several of them using the same plugin.

Finalize is called when the measure is deleted. The Update is called once per update period (usually once per second). The function returns the measured value. Check the Rainmeter sources for example how to implement a plugin.

Currently there are few plugins distributed with the Rainmeter package.  The settings for the plugins should be placed in the Plugin-measure's section in the ini-file.

PerfMon (Win2k and WinXP only!)
(use NT's performance monitor to find out the valid values for these settings)

Important note: The names of the objects, counters and instances need to be in English also in localized versions of Windows.

PerfMonObject
The name of the performance object. E.g. Memory, Process, Processor, ...

PerfMonCounter
The name of the performance counter. E.g. "% Processor Time", "Disk Read Bytes/sec", ...

PerfMonInstance
The name of the instance. E.g. _Total. If the counter doesn't have any instances you can leave this empty.

PerfMonMaxValue
The maximum value for the measured counter. This needs to be set if you are displaying the measure in a histogram or use the InvertMeasure setting. If this value is omitted or set to zero, the maximum value is determined from the input.

PerfMonDifference
If set to 1, the difference between two updates is measured instead of the actual value. This is useful as many of the performance values are counters and you usually want to know how much the counter has increased since last update. Note: This is 1 by default. You need to set it to 0 if you vant to know the current value.

Examples

Display how much Litestep process takes CPU (use Scale=100000.0 in TEXT meter if you want percentual value):

[MeasureLitestep]
Measure=Plugin
Plugin=Perfmon.dll
PerfMonObject="Process"
PerfMonCounter="% Processor Time"
PerfMonInstance=LITESTEP

Display the number of running processes:

[MeasureProcesses]
Measure=Plugin
Plugin=Perfmon.dll
PerfMonObject="System"
PerfMonCounter="Processes"
PerfMonInstance=""
PerfMonDifference=0

Display the disk access in drive C:

[MeasureDiskAccess]
Measure=Plugin
Plugin=PerfMon.dll
PerfMonObject=LogicalDisk
PerfMonCounter="Disk Bytes/sec"
PerfMonInstance=_Total
PerfMonInstance="C:"

MBM5plugin
(you need also MBM5 fot this to work. Get it at http://mbm.livewiredev.com)

Note! This plugin might still be a bit buggy, because I was unable to get MBM5 to work correctly with my motherboard. So, I cannot test this properly. If anyone wants to check and fix this thing, please do :-)

MBM5Type
This defines what should be measured. Possible values are: TEMPERATURE, FAN, MHZ, CPU and VOLTAGE.

MBM5Number
The index of the measured item. E.g. if you want to measure the temperature of the sensor 2. Note that the values start from 0.

MBM5MaxValue
The maximum value for the measured item.

SysInfo

Note! This measure can be used only with the string meter.

SysInfoType
Type of the system information. The valid values are:

  • COMPUTER_NAME
  • USER_NAME
  • SCREEN_SIZE
  • RAS_STATUS
  • OS_VERSION
  • ADAPTER_DESCRIPTION (SysInfoData specifies the adapter)
  • NET_MASK (SysInfoData specifies which net mask, if there are several)
  • IP_ADDRESS (SysInfoData specifies which ip address, if there are several)
  • GATEWAY_ADDRESS (SysInfoData specifies the adapter)
  • HOST_NAME
  • DOMAIN_NAME
  • DNS_SERVER

SysInfoData
Additional data that some of the SysInfoType items require. This is always a number.

AdvancedCPU

CPUInclude
List of process names that are included in the cpu measuring. The names are separated with semicolon (";"-char). The include list overrides the excludes.

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

PowerPlugin

PowerState

  • ACLINE - measures if the power is hooked to ac-line (0/1).
  • STATUS - measures the status of the battery (no battery, charging, critical, low, high).
  • LIFETIME - measures the lifetime of the battery.
  • PERCENT - measures percentual lifetime.
 
Sound:
 
 
 
 
 
 
The Rainmeter supports audio commands that can be used in the actions (e.g. TrafficAction). Just use the build-in commands like normal command or !bangs.

PLAY [soundfile]
Plays the given soundfile once.

PLAYLOOP [soundfile]
Plays the given soundfile as loop.

PLAYSTOP
Stops the currently playing sound.

 
Bangs:
 
 
 
 
 
 
The Rainmeter can be controlled also with Litestep !Bang-commands. Note that the [] means that you need to supply an agrument for the bang (do not include the []-chars). If the argument is inside (), it is not necessary to give it.

!RainmeterShow
Displays the Rainmeter-window.

!RainmeterHide
Hides the Rainmeter-window.

!RainmeterToggle
Toggles the Rainmeter-window.

!RainmeterRefresh ([Config]) ([IniFile])
Reloads the configuration file. The arguments are optional. If not given the current config is reloaded. The Config and IniFile must exist in the already loaded list of configurations.

!RainmeterRedraw
Forces the redraw of the window. This also updates all the meters.

!RainmeterHideMeter [Meter]
Hides the given meter. Note that hiding meter does not stop the measurement, you also need to disable the measure if you don't want to spend the extra CPU cycles for the measuring.

!RainmeterShowMeter [Meter]
Shows the given meter if it was hidden.

!RainmeterToggleMeter [Meter]
Toggles the visibility of the given meter.

!RainmeterDisableMeasure [Measure]
Disables the given measure.

!RainmeterEnableMeasure [Measure]
Enables the given measure.

!RainmeterToggleMeasure [Measure]
Toggles the status of the given measure (i.e. disabled/enabled).

!RainmeterChangeConfig [Ini-file]
Changes the configuration ini-file. The argument is the same as the command line argument for the Rainmeter.exe or the RainmeterIniFile-step.rc command.

!RainmeterMove [X] [Y]
Moves the window to new location.

!RainmeterZPos [POS]
Changes the z-position of the window. -1 = OnBottom, 0 = Normal, 1 = OnTop.

!RainmeterAbout
Opens the About dialog.

!RainmeterLsBoxHook
Special bang for lsBox.

 
Legal:
 
 
 
 
 
 
This program is free software. Like Litestep, it is released under GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Please note that this software is still in beta-state and is most likely to have defects and may not work as it should. Use it at your own risk. The author is not responsible for any damage, direct or indirect, that this software may cause.

 

 
Contact:
 
 
 
 
 
 
The latest version will be found from my homepage. There are also couple of example configurations, which might be helpful if you are creating your own skins.

http://www.iki.fi/~rainy/

You may also send comments and bug-reports to author:

rainy@iki.fi

Please put the name of the product (i.e. Rainmeter) in the subject-field of the mail. It may be useful if you write the version of the product also. If you are reporting a bug, please try to be as exact as possible when describing the symptoms. Also some details of your system (like OS version, Litestep build, and so on) might be helpful.

 
History:
 
 
 
 
 
 

9 FEB 2003 (Version 0.9 ß)

  • Fixed a bug in the ini-file parsing routine.
  • Created a PowerPlugin for laptop battery information.
  • Selecting the network interface didn't work. Fixed.
  • The general config and skin's config are separated into different ini-files.
  • Added RainmeterSkinPath step.rc command, which sets the path to the skin folders.
  • Skins are read from Skins-folder by default (instead of the main folder).
  • The about dialog now shows all the active measures.
  • Removed GatherStatistics. Stats are now always gathered if a measure supports that.
  • Added Cumulative to net meters.
  • Added AntiAlias to line meter and string meter.
  • All colors can now have 4 parameters, where the last one is the alpha value.
  • Added a round line meter that can be used draw analog VU-meters and such.
  • Added Autoscale to the histogram meter.
  • Added support for native W2k/XP transparency.
  • Implemented a median filter in the automatic max value tracker to strip out the spikes.
  • !Execute bang works now also with the standalone version of Rainmeter.
  • Added BackgroundMode option.
  • Added SolidColor & BevelType options to the meters and the main window for a solid color background.
  • Added few new bangs: !RainmeterMove, !RainmeterZPos, !RainmeterAbout, !RainmeterRedraw and !RainmeterLsBoxHook.
  • The string meter can be used to draw normal text if it's not bound to anything (just use the Prefix/Postfix).
  • Added AllowNegativeCoordinates option to allow the use of negative coordinates.
  • Snapping now works on all monitors (thanks to Owain Cleaver for the patch).
  • Fixed the MBM5plugin to work with the newer version of Motherboard Monitor.
  • Added CPU and MHZ to the MBM5plugin.

30 JUN 2002 (Version 0.8 ß)

  • 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.
  • Added possibility to choose the measured network interface.
  • Negative coords were saved as very high positive values. Now they should be saved as zero.
  • Added a autoscaling line meter that can display multiple histograms.
  • Added RainmeterCurrentConfig and RainmeterCurrentConfigIni step.rc commands that can used to set a specific config.
  • Added MBM5MaxValue for the MBM5 plug-in.
  • Fixed a bug that didn't reset the AlwaysOnTop state of the window after refresh.
  • AlwaysOnTop has now three possible values: -1 puts the window always on bottom, 0 is normal window positioning and 1 puts it always on top.
  • Changed the compilation settings and the DLL is a quite a bit smaller now.
  • Plugins can display string values now too.
  • Created a SysInfo plugin that displays all kinds of data (IP number, OS version, etc.).
  • The about dialog is now modeless.
  • Fixed a memory leak in perfmon.dll
  • Created a AdvancedCPU plugin that allows include/exclude processes in % Processor Time.
  • Added SnapEdges option that snaps the window the the screen edges when moved.
  • Added NumOfDecimals option for the string meter.
  • Added !RainmeterToggle bang.

5 MAY 2002 (Version 0.7 ß)

  • Fixed a bug with histogram meter's bitmap blitting.
  • IfAboveAction and IfBelowAction didn't work. Fixed.
  • Added BitmapZeroFrame option to BITMAP meter.
  • Added build-in commands for playing sounds in actions.
  • Added NetTotal measure.
  • Added TrafficAction and TrafficValue to execute actions after certain amount of net traffic.
  • Added Hidden option to meters and Disabled option to measures
  • New plugin: MBM5plugin, which measures MBM5 data (temperature, fans and volts).
  • Added Image meter, which just shows one image.
  • Fixed a bug in Perfmon.dll that prevented measuring counters that do not have instance names.
  • Added !RainmeterHideMeter, !RainmeterShowMeter and !RainmeterToggleMeter to change visiblity of individual meters.
  • Added !RainmeterDisableMeasure, !RainmeterEnableMeasure and !RainmeterToggleMeasure to change status of individual measures.
  • The registry measure is now able to access also other keys than just the ones under HKEY_CURRENT_USER.
  • The ini-files inside subfolders do not have to be named as Rainmeter.ini (anything that ends with .ini works).
  • The same subfolder can contain several configuration ini-files.
  • The !RainmeterRefresh can now get the config name and the inifile as arguments.
  • Added !RainmeterChangeConfig bang.
  • Negative coordinates are saved as zero to prevent the window to be placed off screen.
  • Added UpdateDivider for measures.
  • The Rainmeter.exe can be used to send !bangs to the Rainmeter (but only Rainmeter bangs!).
  • Fixed vertical bar meter (should grow, not slide).
  • Fixed a bug: histogram values were drawn one pixel too short.
  • The left and right mouse actions can be defined also per meter.

15 JANUARY 2002 (Version 0.6 ß)

  • Fixed a bug that made the CPU-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. Note 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.

26 DECEMBER 2001 (Version 0.5 ß)

  • IMPORTANT! The configuration file format has been changed and the old ini-files do not work anymore! Also some of the config keywords have been changed.
  • Structural changes to the code (now it is easier to maintain).
  • Added GatherStatistics, which is currently only supported by the NetIn/Out-measures.
  • Added Plugin measure for external counters. Check the source code for example plugin.
  • Added Registry measure, which can get data from a given registry key.
  • Added button up actions (RightMouseUpAction and LeftMouseUpAction) and renamed the down actions as RightMouseDownAction and LeftMouseDownAction
  • Added support for actions that are executed when a measure goes above/below certain value.
  • Removed the PerfMon measure because of incompatibilities with NT4. The PerfMon measure is now implemented as Rainmeter plugin.
  • Added Time-measure.
  • Colors can now be defined also as hex values in RGB-format (e.g. FontColor=FFCCDD).
  • The position of the window can be stored into the ini-file automatically.
  • Added support for multiple configurations. The configs can be changed from context menu.

1 SEPTEMBER 2001 (Version 0.4 ß)

  • If the maximum value for the meters (e.g. NetInSpeed) is not given it is determined automatically from the input.
  • All measures can be displayed as percentual strings.
  • Added uptime-measure. Usable in a string-meter only!
  • Added two new meters: Bar and Bitmap.
  • Added !RainmeterRefresh bang.
  • Added left and right mouse button actions.
  • Now it is possible to define the location (and the name) of Rainmeter.ini-file in the step.rc with RainmeterIniFile.
  • Added context menu, which can be used to refresh the window and quit the program if ran as standalone.
  • Added 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.

19 AUGUST 2001 (Version 0.3 ß)

  • Added support for NT performance data.
  • Added support for measuring free disk space.
  • Added possibility to display the measure values as plain strings.
  • Added automatic scaling for the string values.
  • Added possibility to invert the values (e.g. measure allocated disk space instead of free space).
  • Improved mouse over hiding.
  • Now it is possible to start Rainmeter hidden.
  • Added support for Litestep's Revision ID.

19 JULY 2001 (Version 0.2 ß)

  • Rewrote (almost) everything.
  • The CPU & memory are now measured a bit different way.

22 FEBRUARY 2001 (Version 0.1 ß)

  • Initial beta release