Commit Graph

1236 Commits

Author SHA1 Message Date
jsmorley
34387ce2cf Starting point for 1.3 beta:
Changes to multiple files to change version number
Changes by JamesAC / spx to improve management of Windows Mssages, mostly to support working with the DexPot folks
Addition of the Win7AudioPlugin plugin by reiswaffle. This includes plugin code and changes to the Rainmeter.sln project file.
2010-06-20 20:52:52 +00:00
spx
e0ea862d72 Fixed r432 issue. (Issue 158) 2010-06-08 23:09:18 +00:00
spx
d34c4c2b9c Fixed the issue that the image cannot be loaded from disk in IMAGE meter.
For instance: MeterImage2 fails loading the image.
-----
[CALC]
Measure=CALC
Formula=1

[MeterImage]
Meter=IMAGE
X=0r
Y=0R
ImageName=Image.png
ImageTint=255,255,255,64

[MeterHistogram]
Meter=HISTOGRAM
MeasureName=CALC
X=0r
Y=0r
PrimaryImage=Image.png

[MeterImage2]
Meter=IMAGE
MeterStyle=MeterImage

[MeterHistogram2]
Meter=HISTOGRAM
MeterStyle=MeterHistogram
-----
2010-06-04 08:52:07 +00:00
spx
c7cd612502 Fixed the issue that dynamic image name is not correctly applied in most meters. (Issue 157) An error message is now output to the log instead of showing the dialog box. 2010-06-03 14:14:53 +00:00
spx
f2682eaee0 Changed the behavior of DynamicVariables. The fixed value definition of the following settings is handled as the starting value. If the value definition of these settings contains variables or measures, related !bangs are ignored.
[Measure]
Disabled

[Meter]
Hidden
X
Y

In case of "Hidden":
- Hidden not added or Hidden=0/1 (=fixed value specified) and DynamicVariables=1
The specified value is handled as the starting value. After that the value is not re-read on every update. !RainmeterShowMeter etc. are enabled.

- Hidden=#VAR# or Hidden=[Measure] and DynamicVariables=1
The value is re-read on every update. !RainmeterShowMeter etc. are disabled by re-reading value.
2010-06-01 14:55:52 +00:00
spx
b675265606 Fixed incomplete fix in r420 and r422.
Fixed the issue that the result of some bangs is overwritten with the default value if DynamicVariables=1 is added to Measure/Meter. (Issue 125) Note that this fix is effective only when the setting is not defined in skin configuration file. The result of !RainmeterHideMeter(or Show/Toggle) is overwritten if Hidden=0/1 is added.
Some minor changes.
2010-05-31 21:02:04 +00:00
spx
1393d52f43 Fixed the issue that the default value isn't reflected correctly when refreshing the skin. (Issue 155) 2010-05-30 07:02:46 +00:00
spx
56f1c6a38d Enabled @include to use variables.
Fixed the issue that the window becomes invalid when both window width and height are 0.
2010-05-27 22:03:09 +00:00
jsmorley
ef0a984544 Reversing previous change to "On Desktop" as default for new skins. 2010-05-14 02:49:53 +00:00
jsmorley
70ae84faca Changed the default for "AlwaysOnTop" (ZPos) from "Normal" (0) to "On Desktop" (-2) now that On Desktop is working right with Vista / Win7.
Some minor changes to images for RainBackup and RainThemes. Using new background pattern from poiru.
2010-05-11 17:09:39 +00:00
spx
e2c5a4afdc small fixes (including poiru's fix for Rainmeter.ini when Default.ini doesn't exist is not there) 2010-05-09 10:21:40 +00:00
jsmorley
c01fb4eb76 Update to get things in place for one final beta followed by a Release Candidate as soon as we can.
1) Added Gnometer as one of the default skins, including two themese (Gnometer and Gnometer Preview)
2) Removed Tranquil skins
3) Added RainBackup in \Addons and to start menu
4) Changes to Rainstaller to use default header .bmp file if the author does not provide one in the .rmskin.
5) Changes to Rainmeter.cpp to handle Gnometer as one of the new default skins
6) Changes to the Rainmeter installation program to allow selection of default skin / theme (Gnometer or Enigma)
2010-05-08 19:51:33 +00:00
jsmorley
11dfcb95b1 Registry Measure: Mattking fixed a problem where a skin reading a registry value would never update the value in the skin if the key did not exist when the key was loaded, but added while the skin was running. It also would not detect that a key it had successfully read when the skin was loaded was deleted while the skin was running. 2010-04-25 17:42:07 +00:00
jsmorley
f049d80153 Update for final fixes for Rainstaller, new Rainmeter icons and changes to History.htm to support new public build. 2010-04-18 20:12:32 +00:00
spx
d4a1a4fadf Fixed a problem that an UNC path isn't recognized as an absolute path in @include statement. 2010-04-11 14:30:31 +00:00
spx
e2e6ffff86 Formula now can be used with the relative position (r/R) in Meter's X/Y option.
Added built-in variable #PROGRAMDRIVE#

Changed Net measures to gather statistics of the logical interfaces for wireless devices.
2010-04-10 02:29:52 +00:00
jsmorley
8b1dd97268 Change of math function LG to LOG for clarity. 2010-04-10 02:04:06 +00:00
jsmorley
c71a4096d1 Alex's change to add #CRLF# as a built in variable to add a carriage return / linefeed to strings.
[MeterOne]
Meter=String
MeasureName=MeasureOne
MeasureName2=MeasureTwo
Text=%1#CRLF%2

[MeterTwo]
Meter=String
Text=This is a long string#CRLF#On two lines

Substitute="<br/>:"#CRLF#"
2010-04-09 13:16:37 +00:00
spx
4cf4a84afb Fixed a problem that "Random" doesn't return the HighBound value in CALC measure. 2010-04-08 23:47:52 +00:00
spx
32db892e2c Fixed a problem that "Random" is case-sensitive in CALC measure.
Fixed a problem that a deletion of the meter window encounters enormous delays when the meter window has enormous Update=.

Some small cosmetics.
2010-04-08 23:16:43 +00:00
spx
54fe29a062 Removed unused codes.
Some small changes on create Measures and Meters.
2010-04-07 19:56:53 +00:00
spx
95bec98c87 Fixed a problem caused by @include statement added in r219. 2010-04-07 16:12:02 +00:00
spx
6551a62fba Fixed a problem that an UNC path isn't recognized as an absolute path. 2010-04-06 17:46:17 +00:00
spx
8bff3e2ac2 Small change about !RainmeterQuit (simpler way) 2010-04-02 06:54:51 +00:00
spx
415c905d0a - Fixed a problem that !RainmeterQuit isn't executed when no meter window is running.
- Fixed a problem that StyleTemplate affects to Meters which have no relation.

- Added a workaround to avoid the "IniFileMapping" function when reading skins.

- Some small code cosmetics.
2010-04-02 01:35:53 +00:00
spx
a6f2f01036 Some code changes for optimization 2010-03-30 22:37:05 +00:00
spx
b769a7a360 - Modified the way to handle the "On Desktop". This affects all of Windows versions.
- Added "LoadOrder" to handle the skins' loading order.

- Changed the way to update and save the network statistics.
2010-03-29 21:50:05 +00:00
spx
8b9e21e38f Fixed the crash problem when multiple Rainmeter instances are running and "show desktop" occured. 2010-03-23 16:15:07 +00:00
spx
06ec730bfd - Added the workaround to pin the window to desktop in Vista/7 with Aero.
- Added !RainmeterSetTransparency, !RainmeterShowFade, !RainmeterHideFade, !RainmeterToggleFade.

- Added the function to log the installed font families to the log file when Debug=1 is set.

- Added the workaround for issue 145. The wrong drawing position was fixed when AntiAlias=0 is set.
2010-03-20 19:40:30 +00:00
jsmorley
3166c5d5f2 MattKings Changes:
1) New feature of Meter=String
StringCase= [NONE | LOWER | UPPER | PROPER]
2) Changes to SetVariable to allow mathematical formulas and functions to be used in setting a variable.
2010-03-18 19:48:14 +00:00
jsmorley
65bfaa31f0 Mattking: Fixed PLAY command to play the .wav file asynchronously so it no longer "pauses" Rainmeter while sound is playing. 2010-03-04 22:53:56 +00:00
jsmorley
2dbf79c6e6 Fixed: MattKing's change to RANDOM to fix issue where it was only random once. 2010-02-28 14:19:35 +00:00
spx
f0763c5973 Changed the ConfigParser that it allows some inline comments which start with a semicolon. This change is for backward compatibility. 2010-02-27 09:51:48 +00:00
spx
234250f59f ImageRotate option now gets better quality than r342. 2010-02-26 02:54:13 +00:00
spx
8c87dd66b7 Fixed the problem that the BarImage disappears if "DynamicVariables=1" is set in BAR meter.
Added the new image tinting / transforming function in IMAGE meter. (ImageTint, GreyScale, ColorMatrix(1-5), ImageFlip, ImageRotate)
2010-02-24 14:58:35 +00:00
spx
16b1918af3 Added "ImageAlpha" option to the IMAGE meter.
Changed the interpolation mode in AntiAlias=1 to Default from Bicubic. There is a possibility that this change will be changed again in the future.
2010-02-20 00:39:08 +00:00
spx
be3b4114bb - Added the function that measures the CPU usage for multi core/processors.
For instance:

[MeasureCPU]
Measure=CPU

[MeasureCPU1]
Measure=CPU
Processor=1

[MeasureCPU2]
Measure=CPU
Processor=2

MeasureCPU returns the average of the CPU usage across all core/processors. This is same as Processor=0.

MeasureCPU1/2 returns the CPU usage of each core/processor.

-----

- Fixed the problem that the correct value is not returned if the Interface=0 in NetIn/NetOut/NetTotal measure. The cause of this problem is because the value of all filter devices is summed in Vista or newer.

-----

- Added the option (Debug) for debug logging. This must be put under [Rainmeter]-section in Rainmeter.ini.

This option specifies whether extra debugging log from Rainmeter.dll is output to Rainmeter.log.

[Rainmeter]
Debug=1

Default is 0.

-----

- Application: Fixed a wrong return value type from MainWndProc.
2010-02-13 03:07:34 +00:00
spx
506b6b84f3 FIXED: IMAGE and STRING meter were not compatible with a new value-reading method of r330. 2010-02-09 06:53:34 +00:00
spx
6088470157 - CHANGED: ConfigParser now reads value strictly. Note that this change affects the
reading of various skin setting values.

 For instance:
 - OK
  FontSize=10
  FontSize=0
 - NG (uses default value instead)
  FontSize=
  FontSize=ABC
  FontSize=20ABC (has been parsed as "FontSize=20" until now.)

- CHANGED: FontSize=0(invisible) is now able to use in Meter=STRING.

- Fixed the problem that the window doesn't move into the screen correctly when KeepOnScreen is 1.
2010-02-08 14:12:47 +00:00
spx
c9fd071177 Changed behavior so as not to indicate the error message box when DynamicVariables is 1 and FontSize is 0. (issue 126)
FIXED: Virtual Bytes usage for an x64 process with perfmon plugin does not display value greater than 4 GB (issue 113)
The numerical value greater than 32bit can be now displayed when NumOfDecimals is 0 in Meter=STRING.
Fixed the broken compatibility in Windows 2000. (AboutDialog, SysInfo)
2010-02-04 07:16:22 +00:00
spx
ee8d4867c2 - FIXED: inconsistent numerical value via DynamicVariables (issue 130)
- FIXED: Problem with WebParser and "local files" with Cyrillic chars in the path. (issue 139)
- The coded character set of the logfile is changed to UTF-8. (ccs=UTF-8)
  http://msdn.microsoft.com/en-us/library/yeby3zcb%28VS.80%29.aspx
- "MS Shell Dlg 2" is now used for the ABOUT dialog box.
  http://support.microsoft.com/kb/282187
2010-02-03 08:01:50 +00:00
spx
df3215c487 FIXED: DynamicVariables=1 disables UpdateDivider (issue 123)
FIXED: LineColor does not use values of Dynamic Variables in the Line meter (issue 138)
2010-01-29 23:57:41 +00:00
Kimmo Pekkola
35947902ea Updated the version numbers for the new beta. 2010-01-24 17:31:15 +00:00
spx
cc3ad487a7 * Changed the way to get the information of the multiple display monitors.
This change brings the order of monitors close to the order of "Display Properties" due to using EnumDisplayDevices and EnumDisplaySettings instead of EnumDisplayMonitors. (If EnumDisplayDevices failed, EnumDisplayMonitors is used as before.)

-----

* Added the "Display Monitor" submenu in [Skins Menu]-[Position].

These menus convert the present position to the relative position from the specified monitor.
(But the meter window doesn't move to the specified monitor area immediately. Only converts.)

- "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". (http://msdn.microsoft.com/en-us/library/dd145136%28VS.85%29.aspx)
- If "Auto-select based on window position" is 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.

-----

* Added the variables for multiple display monitors and the virtual screen.
All X/Y positions are represented in the virtual screen coordinates.

The following variables are 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.

The following variables are 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.

The following variables are 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.

The following variables are for the SPECIFIED monitor. (@n = @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.

-----

* Other related changes:

- Fixed the problem that the primary monitor isn't recognized correctly.

- Fixed the problem that the information of the multiple display monitors is refreshed excessively.

- For DynamicVariables, when display setting or workarea size has been changed, all variables are now updated to apply changed WORKAREA/SCREENAREA variables.

- Fixed the problem that the "On Desktop" window isn't dragged correctly when the top-left corner of the virtual screen has negative coordinates.

- Changed the way to stick the "On Desktop" window. ("SysListView32/FolderView" is used instead of "Progman/Program Manager".)

-----

* Other changes:

- When the meter window is draggable and isn't dragged, LeftMouseUpAction is now executed.

- Added MouseDoubleClickAction (LeftMouseDoubleClickAction, RightMouseDoubleClickAction, MiddleMouseDoubleClickAction). If MouseDoubleClickAction is empty when mouse button is double-clicked, MouseDownAction is executed instead.

- Fixed the problem that the Meter's hit-test code checks outside the area.

- Changed the way to set the #CURRENTCONFIG#. (CMeterWindow::GetSkinName() is now used instead of parsing the path.)
2009-12-18 05:58:37 +00:00
jsmorley
15353ea701 New !bang
!RainmeterRefreshApp

Does a full refresh of all skins and reloads the list of configs and Rainmeter.ini settings.  This is the same as "Refresh All" from the system tray context menu.  Is not the same as !RainmeterRefresh [config | *] as it can be used to make Rainmeter "see" a new folder added to \Skins by the user or a process.  Note: This was added mostly to better support RainBrowser when a user adds a downloaded config while using RainBrowser.
2009-12-01 01:35:43 +00:00
spx
794d3c8c77 Fixed the abnormal termination on startup caused by r313. 2009-11-20 10:39:41 +00:00
spx
c5acb8c954 Fixed the problem that the skin window is unable to be located in negative coordinates. 2009-11-12 20:03:17 +00:00
Kimmo Pekkola
46570b6025 Updating a skin should work now even if the current version is missing. This should solve the issue 121.
The default tray icon is shown if custom tray measure cannot be created.
2009-10-30 19:10:55 +00:00
jsmorley
fd9cac7add Change by MattKing to the MouseActionCursor feature. The user can now set MouseActionCursor=0 in the [Rainmeter] section of the skin, and the change of the cursor to the hand when over mouse action meters will be disabled for the entire skin. This can be overridden on a meter-by-meter basis with MouseActionCursor=1.
Added this change to the Meters.htm help file.
2009-10-30 18:15:13 +00:00
Kimmo Pekkola
b5042589cb The deactivated window wasn't deleted properly (issue 117).
Deactivating a config kept it still activate in the rainmeter.ini file (issue 118).
2009-10-18 13:31:55 +00:00
Kimmo Pekkola
d5297bb0e7 The themes are updated now with Enigma. 2009-10-17 07:37:09 +00:00
Kimmo Pekkola
2c6c43c652 The window deletion is now delayed when !RainmeterDeactivateConfig is used. This fixes the problem: Issue 116: Crash when skin tries to deactivate self by measure action. 2009-10-17 06:43:18 +00:00
spx
bdcad72ed3 [Measure/FreeDiskSpace]
- Prevent the system from displaying "No disk" error message box (e.g. removable media is not ready)
2009-10-14 09:18:12 +00:00
spx
07c9f62e40 Fixed: Wrong font is used due to the font caching problem. 2009-10-11 13:03:20 +00:00
Kimmo Pekkola
f7970be6b5 The !bangs can be now used from command line even if there are no active configs.
Included RainBrowser to the build.
2009-10-10 08:20:28 +00:00
spx
febd3d1407 [MeasureFreeDiskSpace]
Fixed: When the designation of Drive is wrong, a strange volume label is indicated.
Changed: Incorrect drive letter (e.g. not "C:\" but "C:") is now allowed.
2009-10-08 16:49:41 +00:00
spx
bab35411b4 Fixed: Handling for MeterButton's "ButtonCommand" was forgotten on r236. 2009-10-07 18:47:40 +00:00
Kimmo Pekkola
0b4ba32924 Added cache for the fonts.
Fixed a memory leak in the string meter.
Changed the library project to use precompiled headers.
2009-10-07 16:45:14 +00:00
jsmorley
fd759799fe Adding Spx's fix for the #CURRENTCONFG# code.
See http://code.google.com/p/rainmeter/source/detail?r=237 for details.
2009-10-06 03:49:03 +00:00
jsmorley
3da892f271 Backing out the change in r237. The #CURRENTCONFIG# routine can cause an error when Rainmeter first Initializes before the first skin is read.
See the comments in r237 for details.
2009-10-06 02:16:35 +00:00
spx
4bed8bdbbd Fixed: The value is not replaced by correct substitute when DynamicVariables is enabled in Measure. 2009-10-05 19:27:08 +00:00
jsmorley
7fdeafba9f MattKing's change to add #CURRENTCONFIG# as a "built-in" variable.
Purpose. To allow Rainmeter to send the current config name (basically the current path but starting under "\Skins" and with no trailing "\") to external programs with !Execute.  This will allow external programs to know the config name if they need to take some action and then send "Rainmeter.exe !RainmeterDeactivate" or "Rainmeter.exe!RainmeterRefresh" or other bangs that require a config name when sent to Rainmeter via the command line.
2009-10-05 04:29:33 +00:00
spx
3afe01569c Broken backwards compatibility was fixed.
([Measure] contained in Action in Measure and Meter are not replaced when reading skins. They are replaced only when executing action.)
2009-10-01 03:13:19 +00:00
Kimmo Pekkola
1ebff32421 Replaced the application icon.
The old config is backed up before it is upgraded.
2009-09-30 17:06:16 +00:00
jsmorley
daeb18c1f4 2009-09-30 03:24:29 +00:00
spx
48fdf42bb2 Reverted the changes from r229 (dragging problem). 2009-09-26 16:29:22 +00:00
spx
f6f293cc57 Minor tweaks of "hand pointer". 2009-09-26 07:16:55 +00:00
jsmorley
5560d6e72a Added MattKing's code to enable the standard "hand pointer" mouse cursor when you hover over a meter with any "MouseAction" on it or a button.
This behavior is ON by default.  If you do not want the cursor change on a meter or button, set MouseActionCursor=0 on the Meter or button.

Example of disabling mouse cursor change:

[Meter]
Meter=Image
W=100
H=100
SolidColor=0,0,0,255
LeftMouseUpAction=!Execute ["http://rainmeter.net"]
MouseActionCursor=0

Note: If you have a button with a meter (either image or text) on TOP of it, you will need to set MouseActionCursor=0 on the image/text meter even if it doesn't have a mouse action, or the button will not change cursors.
2009-09-25 22:20:07 +00:00
spx
4771fafe87 Minor fixes 2009-09-25 12:30:50 +00:00
jsmorley
d493e8d2e9 Fix to Middle Mouse functionality. It was not detecting mouse actions in the [Rainmeter] section, only in [MeterName] 2009-09-23 13:45:39 +00:00
Kimmo Pekkola
71c1d052a7 The relative coordinates got broken by the previous changes. They should be fixed now.
Changed the meter bangs to case insensitive.
2009-09-19 07:15:28 +00:00
Kimmo Pekkola
fa6d437a71 Added a version check for the skins which come with Rainmeter so they can be upgraded. 2009-09-18 18:42:50 +00:00
Kimmo Pekkola
1de7706678 If native transparency is enabled the windows are not refreshed anymore when settings change but they are just moved to the correct location. 2009-09-18 16:05:10 +00:00
Kimmo Pekkola
e84e7d534d The skin files can read other files with @include statement. 2009-09-18 15:30:51 +00:00
spx
9d96ec61c1 - Fixed: Multibang [] not assumed when [Measure] is replaced in CConfigParser::ReadString().
- Minor changes of ConvertToXXX(): Get an appropriate buffer size to convert the string. And using [] when deleting arrays.
- Fixed a few memory leaks.
- It's now possible to send the !BANG command when all windows are "On Desktop". (Rainmeter.exe and WebParser)
2009-09-12 11:11:40 +00:00
jsmorley
8ea3c6780a Additional code changes by spx268 to address issues with other image meter types (MeterBar, MeterBitmap, MeterButton, MeterRotator) and dynamic variables.
http://code.google.com/p/rainmeter/issues/detail?id=108
2009-09-07 20:00:50 +00:00
jsmorley
48bee2c6fe 1) Added MattKing's code for supporting the middle mouse button in [Rainmeter] and [MeasureName].
MiddleMouseUpAction | MiddleMouseDownAction

2) Updated the manual entries for the middle mouse functionality

3) Added  spx268's code to fix a problem with BUTTON and dynamic variables addressed in:

http://code.google.com/p/rainmeter/issues/detail?id=108
2009-09-07 16:37:58 +00:00
Kimmo Pekkola
8eccc8ddec Got rid of the "Not a meter or measure" error.
The handling of the MeterStyle is now done in the CConfigParser.
2009-09-04 17:40:02 +00:00
Kimmo Pekkola
4274397806 The m_FontCollection wasn't initialized so it could cause a crash on exit.
Some code cleanup.
2009-09-04 17:18:15 +00:00
Kimmo Pekkola
4bf4e51126 Reverted the changes from r209. 2009-09-04 16:37:51 +00:00
jsmorley
8239919333 Added MeterStyle functionality:
Rainy, given the "issues" listed at the bottom of this comment, I leave it to you whether to create a build using this revision or use r208 for the build.  I would like to start testing MeterStyle, but there are a few more things it needs work on.

What is MeterStyle?

MeterStyle
This will allow users to create CSS-like "Styles" for meters. This means that all the parameters of a meter can be defined in the style, and then many meters can use the style to eliminate copy / pasting the same parameters over and over on multiple meters. (Examples: FontColor=, FontSize= etc.)

How do I use it?

You will create a new [Section] (as many as you want) in the .ini. The section(s) can have any name.

[MyStringStyle]

Then you will tell Rainmeter that this is a "MeterStyle" and not a measure or meter

Style=Meter

Note: The "value" of the key "Style" can be anything. It can be used to add a description of the style if you like. Style=This style is for the AccuWeather part of this skin
It is however required, both to tell Rainmeter it is not a meter or measure and to have the MeterStyle routines parse it.

Then you define parameters you want to use in the style

FontColor=#FontColor#
FontFace=TheSansBold-Caps
FontSize=11
StringEffect=SHADOW
StringStyle=BOLD
StringAlign=LEFT
AntiAlias=1

Then in any or all meters, you just use

[MeterName]
Meter=STRING (or any other meter type)
MeterStyle=MyStringStyle

None of the parameters in the style are then required to be actually in the meter(s). They are "inherited" from the MeterStyle.

Note: This works and has had preliminary testing with dynamic variables like FontColor=[MeasureName] and regular variables like FontColor=#FontColor#. It doesn't matter if the [Variables] section or the [MeasureName] measure is before or after the [StyleName] in the .ini file.

What if I want to override a MeterStyle parameter on a meter?

Sure. Just put in any parameter with a value different from the one defined in the MeterStyle and the one in the meter will take presidence. All non-defined parameters will still use the MeterStyle value.

[MeterName]
Meter=STRING
MeterStyle=MyStringStyle
FontColor=100,100,100,50

What are these "known issues" you are on about?

This is still a bit of a work in progress. Right now you cannot define X or Y in a style. You can define W and H, but NOT for a STRING meter. You cannot define a "Transformation Matrix" in a style. MattKing will be looking into these tomorrow. W and H in a string meter is our top priority. We will also look at X and Y and hope for an easy solution. Transformation Matrix may have to come later.
2009-09-04 14:48:28 +00:00
jsmorley
dc365cfb6e Reconciled all changes by Rainy and the branch with MattKing's LocalFont function. The trunk now contains all current code changes.
Added changes to RANDOM function based on Rainy's input.  If there were multiple RANDOM statements in multiple CALC measure, they would all get the same random number.  Fixed.

Added new RANDOM function and LocalFont to the help files and History.htm
2009-09-03 00:33:46 +00:00
Kimmo Pekkola
9b949a12e0 Fixed: Rainmeter drops commands in !Execute series that are too long. (http://code.google.com/p/rainmeter/issues/detail?id=103) 2009-09-02 18:05:07 +00:00
Kimmo Pekkola
9fcd6896de Added NULL checks for the CConfigParser::ReadString()'s parameters (http://code.google.com/p/rainmeter/issues/detail?id=105).
The font and registry handle are now free'ed properly if Initialize() is called multiple times.
2009-09-02 17:04:47 +00:00
jsmorley
c4f95ca973 Committed MattKing's code to generate a random number in a CALC measure.
RANDOM Function:
Returns a random number between "LowBound" and "HighBound" defined in the measure.

Sample usage:
							[MeasureCalc]
Measure=Calc
Formula=(Random)
LowBound=5
HighBound=100
2009-08-31 17:47:09 +00:00
kenz0
5a4304f020 aspect ratio of the image is preserved when the image is scaled.
(Thanks to px268 for the code)
2009-08-28 07:42:28 +00:00
Kimmo Pekkola
c6fdbf7b60 Dynamic variables can be used to change the font in the string Meter.cpp.
Removed the error message if the meter's dimensions are 0.
2009-08-27 17:05:10 +00:00
Kimmo Pekkola
c09ff5cf61 Using variables in other variables should work again.
Increased the number of decimals used in dynamic measures from 1 to 5.
2009-08-27 16:04:06 +00:00
Kimmo Pekkola
f5f257a595 Previous beta changed everything to be case sensitive. Fixed. 2009-08-27 15:42:24 +00:00
Kimmo Pekkola
ffdec7be65 Some of the plugins don't work with the dynamic variables so the feature is now disabled for them. 2009-08-26 19:29:49 +00:00
Kimmo Pekkola
9246161739 Skin information and instructions can be added to [Metadata] section. 2009-08-26 17:48:12 +00:00
Kimmo Pekkola
dc3c767efa It's now possible to use the measures as if they were variables (use [MeasureName] instead #VariableName#). Set DynamicVariables=1 for all meters and measures which refer to other measures.
New bang !RainmeterSetVariable can be used to change the value of a variable (DynamicVariables must be 1 in places where the variable is used).
2009-08-26 17:37:15 +00:00
Kimmo Pekkola
7b22d717a3 The windows stay visible with Aero Peek on Windows 7. 2009-08-23 12:09:17 +00:00
Kimmo Pekkola
40f11d3934 !RainmeterRefresh and !RainmeterQuit are now handled only during the event loop since they can crash the application if executed during Update(). 2009-08-19 17:57:09 +00:00
Kimmo Pekkola
d6444b7dff RainThemes wasn't started correctly if the path had spaces. Fixed. 2009-08-12 19:02:51 +00:00
Kimmo Pekkola
29e1dfba5b Removed duplicated code. 2009-08-12 18:02:24 +00:00
Kimmo Pekkola
122fb8f90f Variables can be used under the [Variables] section (as long as they have been defined before the current variable is read). 2009-08-12 17:26:34 +00:00
Kimmo Pekkola
1d1290e3fa Added Themes submenu to the Rainmeter's context and tray menus. 2009-08-12 17:11:52 +00:00
Kimmo Pekkola
c895803238 The IgnoreRemovable now defaults to true (1) which should help with the missing disk errors. 2009-08-12 16:15:54 +00:00
Kimmo Pekkola
3a5b634b1b !RainmeterQuit bang doesn't show error message even if Rainmeter is not running. 2009-08-05 08:36:38 +00:00
Kimmo Pekkola
e73d35e220 New !bang: !RainmeterQuit 2009-08-04 09:48:03 +00:00
Kimmo Pekkola
848cd361e3 Removed unnecessary UAC prompt when editing skins in My Documents. 2009-08-04 09:35:56 +00:00
Kimmo Pekkola
9654dc21ae #PROGRAMPATH# and #ADDONSPATH# returned incorrect value if the ini file was given as a command line argument. Fixed. 2009-08-03 22:21:56 +00:00
Kimmo Pekkola
7fbb09d4ca Updated the version number for the upcoming release candidate. 2009-08-02 11:32:12 +00:00
Kimmo Pekkola
3c0923f862 The themes are now copied to the %APPDATA% on first run.
Few changes to the Enigma skin to make it work better in different resolutions.
2009-08-01 16:40:04 +00:00
Kimmo Pekkola
b6954bcdd0 Added #WORKAREAX# and #WORKAREAY# build-in variables. 2009-08-01 15:38:03 +00:00
Kimmo Pekkola
14648a2974 The WORKAREAHEIGHT wasn't calculated correctly. Fixed. 2009-08-01 11:46:15 +00:00
Kimmo Pekkola
7440667743 New build-in variables: #WORKAREAWIDTH#, #WORKAREAHEIGHT#, #SCREENAREAWIDTH#, #SCREENAREAHEIGHT#
Added support for math formulas for the X, Y, W, H, WindowX and WindowY (e.g. "WindowX=(#WORKAREAWIDTH# / 2)"). The formula must be surrounded by parenthesis.
2009-07-30 15:19:47 +00:00
Kimmo Pekkola
8563915b4b String meter supports now shadow and border effects. 2009-07-29 12:54:05 +00:00
Kimmo Pekkola
1ec9e90265 Removed some commented test code. 2009-07-29 12:37:58 +00:00
Kimmo Pekkola
5d9ed7ca80 Button state is reset correctly if the left mouse button is released outside the window. 2009-07-29 12:33:02 +00:00
Kimmo Pekkola
fce069e2c7 The antialias setting can be set for all meters. 2009-07-29 11:52:01 +00:00
Kimmo Pekkola
df9817a83c HorizontalLineColor didn't work as documented. Fixed. 2009-07-29 10:38:09 +00:00
Kimmo Pekkola
978988d41b The DefWindowProc is not called anymore on WM_SETTINGCHANGE since it can cause crashes. 2009-07-28 09:16:07 +00:00
Kimmo Pekkola
d1d3f1303b The version check is now done from the svn. 2009-07-27 20:32:33 +00:00
Kimmo Pekkola
1dbfc85b01 The stats are now written once per minute to the settings file. 2009-07-27 12:30:28 +00:00
Kimmo Pekkola
dd9ab1dc04 Added support for transformation matrix in meters. 2009-07-27 11:48:57 +00:00
Kimmo Pekkola
bded6e6fc7 New build in variables: #PROGRAMPATH#, #SETTINGSPATH#, #SKINSPATH#, #PLUGINSPATH#, #ADDONSPATH# and #CURRENTPATH# (this is the path where the ini file that is currently read is located).
If there is a file called Default.ini in the program folder it will be used as the default settings file for new users.
The location of the settings file (rainmeter.ini) can be defined as a command line argument.
2009-07-26 21:08:46 +00:00
Kimmo Pekkola
ace2a67049 Image and button meters don't ignore errors anymore if they are bound to a non-existing measure. 2009-07-24 08:19:01 +00:00
Kimmo Pekkola
a588a86b3b Applied the Rorix's image meter patch which makes it possible to define the path to the image location. 2009-07-24 08:08:52 +00:00
Kimmo Pekkola
a7c6c939ac Skins are now read from the My Documents by default.
Added the revision number to the about dialog (use UpdateRevision.py to update it).
Added a check to the startup which verifies that the rainmeter.ini is writable.
The skin folder can be opened from the context menu.
2009-07-24 07:56:37 +00:00
Kimmo Pekkola
e2448f42b1 Added 64-bit compilation configuration.
The bitmap meter supports transition frames now.
Few Vista/Win7 fixes (the rainmeter.ini is now in %APPDATA%).
2009-07-21 12:26:50 +00:00
Brian Todoroff
3e9be18739 -Added options to RoundLine to use meter to control any combination of RotationAngle, LineStart, and LineLength. Defaults to meter controlling RotationAngle only to match traditional behavior. 2009-04-25 06:11:43 +00:00
Kimmo Pekkola
e7d1b6c064 The help couldn't be opened if Rainmeter was installed to a folder with spaces. Fixed. 2009-04-21 16:07:13 +00:00
Brian Todoroff
62c9249076 -Fixed bug reported in Issue 29 '"Y as a percentage" in menu operation is not reflected in a Rainmeter.ini'. Copy and paste error was linking both X and Y menus to X as a percentage. 2009-04-06 05:50:37 +00:00
Brian Todoroff
1bd2045f13 -Removed the AllowNegativeCordinates option. 2009-03-27 01:55:12 +00:00
Brian Todoroff
537f02146f -Fixed several bugs in real time resolution changes
-Added AnchorX and AnchorY to the config and help
-Added some of the build directories to the ignore list for svn
2009-03-26 04:16:57 +00:00
Brian Todoroff
78bc4ba9dc Detect and handle resolution changes while running 2009-03-25 02:56:56 +00:00
Brian Todoroff
8a66cc73c0 Positioning from right/bottom, as a percentage of screen, and multi-monitor selection implemented. Updated context menu Position sub-menu and help files. Dragging should work for all options.
Removed dependencies from Library on plug-in .DLL's.
2009-03-24 04:29:48 +00:00
Brian Todoroff
5a793b3644 Switch "afxres.h" to "windows.h" for compatibility with VS2008 Express Edition 2009-03-22 01:03:46 +00:00
Kimmo Pekkola
2d2247d3d8 Upgraded the project to VC 2008. 2009-03-21 09:35:03 +00:00
Brian Todoroff
a60756d308 Even better way to draw solid arcs. Fixes overlap issues at abutting arcs. 2009-03-13 00:30:19 +00:00
Brian Todoroff
a035c76101 Fixed RoundLine implementation for Solid=1, AntiAlias=1, and LineStart > 0. AntiAliasing now works correctly on both edges of the arc. 2009-03-12 19:32:43 +00:00
Kimmo Pekkola
b4b2d3b9b0 Free disk space can be read from the removable drives too.
Size and count were reversed in the recycle manager. Fixed.
2009-03-10 17:32:35 +00:00
Kimmo Pekkola
5d2f960552 Code cleanup. 2009-02-14 10:11:28 +00:00
Kimmo Pekkola
30edc895f2 2009-02-10 18:37:48 +00:00