Rainmeter 3.0 Release
There are a lot of new features and capabilities in the latest Rainmeter 3.0. You can safely install the new 3.0 release version right over your existing Rainmeter 2.5 installation, and nothing you have done will be lost or changed. There is never any need to uninstall any earlier version of Rainmeter to use the newest version.
Improved font rendering
The biggest single change in Rainmeter 3.0 is that we have moved from the older GDI+ display rendering method for applications to the newer and vastly better Direct2D rendering engine. As a part of a bigger effort to move all of Rainmeter to the new engine, the initial change concentrates on improving the quality of text displayed in String meters.
There will be a dramatic improvement in the quality of text you display in your skins.
Rainmeter will use the new Direct2D rendering by default if your system supports it. If not, it will fall back to the older GDI+ engine, and there will be no impact. Direct2D requires either Windows 8, or Windows 7 with the latest Platform Update.
The Rainmeter user is given complete control over when Direct2D is used and when it is not. The overall default use of Direct2D for your entire Rainmeter installation is controlled with the UseD2D option in the Manage / Settings Tab. In addition, the user can have individual skins override this setting by changing the UseD2D option in the skin context menu.
There may be some minor differences when Direct2D is used with older Rainmeter skins, due to differences in the way Direct2D and GDI+ handle font metrics and create the "container" the meter is displayed in. It is possible that some older skins, particularly those using 3rd-party custom fonts, may need some tweaking for position with Direct2D.
Other enhancements in Rainmeter 3.0
- The WebParser plugin now supports Dynamic Variables. This is a long-awaited and very welcome change to the way WebParser works, and should provide a lot of flexibility in creating skins that access the web. See Change Announcements for additional information about this change.
- We have added support for Unicode characters in Lua scripting. This means that you can use languages and alphabets in Lua other than those supported by standard "ANSI" in your text editor. See Unicode in Rainmeter for details on using Unicode in Rainmeter in general, and Lua in particular.
- Added a Padding=left,top,right,bottom option to meters. Allows adding pixels around any or all sides a meter. The width and height of the meter will dynamically be adjusted to the new size. This can be very useful for positioning meters relative to each other with more flexibility, and when used with the SolidColor meter option, can give you a lot of control over the "background" of your meters, without having to create additional meters specifically for this purpose.
- Added a AccurateText option in the [Rainmeter] section of skins. One of the failings of the older GDI+ rendering engine was some forced and undesirable extra padding around fonts when rendered in String meters. Whether your system or skin uses Direct2D or not, this option can be used to render fonts with the much more accurate method used in Direct2D. This option defaults to 0, which will use the GDI+ positioning of the string within all meters. When set to 1, the more accurate method will be used, giving you much better flexibility with relative positioning.
- Added a new UniqueRandom option. If set to 1, any Calc measure using the Random constant and UpdateRandom will not repeat until all values between and including LowBound and HighBound have been used. Note that any dynamic change to LowBound or HighBound will reset the tracking of values. See Change Announcements for an example skin.
- Added !PauseMeasure, !UnpauseMeasure, and !TogglePauseMeasure bangs. This is similar to a disabled measure, however the measure retains its current value instead of changing to zero. Group versions of these bangs have also been added.
- Added a Paused=0/1 option to measures. This allows setting the "paused" state of a measure, in addition to the !PauseMeasure/!UnpauseMeasure/!TogglePauseMeasure bangs above.
- Added a OnWakeAction option to the [Rainmeter] section of skins, to take action when Windows returns from sleep or hibernate states.
- Important improvements made to the Process plugin to correct issues with the plugin not being able to detect processes started with a higher security level than Rainmeter, 64bit processes when Rainmeter is 32bit, and processes run as a Windows "service".
- Added a OnDismissAction option to the InputText plugin. This will allow you to define an action to be taken when you hit escape to dismiss the input text field without submitting any value.
- Added a ImagePath option to General Image Options. This replaces the existing Path option on Image meters, and extends the functionality to all other meters that support images. Note that Histogram uses PrimaryImagePath, SecondaryImagePath and BothImagePath due to the fact that the Histogram meter has an optional secondary measure binding.
- Added a UseExifOrientation option for meters using images, to automatically correct the orientation of the image based on the EXIF data encoded by a camera.
- Added new "Config" and "File" parameters to the !Manage bang. This will allow opening the Manage / Skins panel with the desired config and / or skin .ini file automatically selected in the list.
- Added a new #ROOTCONFIG# built-in variable. This provides the name of the root config - The highest-level folder under the skins folder for the current skin.
- Made improvements to the About / Log dialog to better show the source of errors. Where possible, the config or skin.ini, and meter or measure section producing the error will be displayed. In addition, we have made improvements to the level of detail in the Rainmeter log when there are command or bang errors, and added a "Clear" button to the panel to remove the current contents of the log displayed in the panel.
- Improved performance when using the !SetWallpaper bang with large images.
- Changed the mouse over behavior on Button meter images, to ignore transparent areas of the image. This make the behavior visibly match the existing mouse click behavior.