Commit Graph

89 Commits

Author SHA1 Message Date
spx
54362780c3 Fixed a issue that MouseOver/LeaveAction loops infinitely.
http://www.rainmeter.net/forum/viewtopic.php?f=14&t=5560
2010-10-02 04:13:50 +00:00
jsmorley
c1fda93526 Change by JamesAC to detect skins with no meters OR measures to reduce issues with people loading Rainlendar skins and such. 2010-09-22 14:04:00 +00:00
spx
15992c2dc3 Cosmetic changes. 2010-09-21 22:47:53 +00:00
Birunthan Mohanathas
e618ad1777 Cosmetic changes here and there. 2010-09-21 11:09:36 +00:00
Birunthan Mohanathas
4ccb0aa40b Changes to some Rainmeter messageboxes to make them more descriptive. Minor changes to Rainstaller as well. 2010-09-21 08:32:41 +00:00
spx
df146e4eb4 Code cleanup & cosmetic. 2010-09-17 08:47:22 +00:00
spx
2cb88b0733 Shrunk some string buffer size. 2010-09-13 20:06:52 +00:00
spx
3da0aa3f4c [Application]
- Added some codes to avoid loading a dll from current directory.

[Library]
- Added new functions to avoid loading a dll from current directory. (CSystem::RmSetDllDirectory(), CSystem::RmLoadLibrary())
2010-09-11 19:39:45 +00:00
jsmorley
eee8d9bb1c Changed ToolTip function to allow using %1, %2 etc. as appropriate for various meter types:
Line, String: %1, %2, %3, ...
Histogram: %1, %2
Others: %1
2010-09-10 17:29:30 +00:00
spx
979117f623 Additional fix for r528. 2010-09-04 08:04:13 +00:00
spx
07d5671707 Fixed an issue that ClickThrough mode is broken since r486.
Fixed an issue that cached window message is incorrect in some cases.
2010-09-03 11:05:28 +00:00
spx
7f2c47a956 - Fixed an issue that audio commands fail in some cases.
Following cases are now available:

ButtonCommand=PLAY #SKINSPATH#Beeper\Sounds\beep.wav
ButtonCommand=PLAY "#SKINSPATH#Beeper\Sounds\beep.wav"
ButtonCommand=!execute [PLAY #SKINSPATH#Beeper\Sounds\beep.wav]
ButtonCommand=!execute [PLAY "#SKINSPATH#Beeper\Sounds\beep.wav"]
2010-09-02 16:03:15 +00:00
spx
c14cd5491b [AboutDialog]
- Fixed the issue that the statistics are updated many times if many active skins are working. "Log" is now updated once every 1 second. Config is now updated once on its Update=.
- Fixed the issue that the statistics show by incorrect order in some conditions.
- Fixed the issue that the entries aren't updated if the skin is activated/deactivated.
2010-08-30 22:51:58 +00:00
spx
bea3b2821a Modified for icons on About dialog box. 2010-08-25 14:36:20 +00:00
spx
dbdebfd1f1 Overhauled Variables part. Fixed the issue that all variables are reset when the screen resolution (or work area) is changed. 2010-08-24 01:07:29 +00:00
jsmorley
10f0640298 Added JamesAC's new bangs to change "settings" in Rainmeter.ini for one / group / all skins at once.
!RainmeterDraggable/!RainmeterDraggableGroup
!RainmeterKeepOnScreen/!RainmeterKeepOnScreenGroup
!RainmeterClickThrough/!RainmeterClickThroughGroup
!RainmeterSnapEdges/!RainmeterSnapEdgesGroup

!RainmeterSnapEdges [parm1] (Config | *)
!RainmeterSnapEdgesGroup [parm1] [GroupName]

Parm1:
-1 toggles the setting.
0 forces the setting to off.
1 forces to setting to on.
2010-08-22 12:08:38 +00:00
spx
bf026cc248 some minor tweaks & cleanups 2010-08-17 07:19:48 +00:00
spx
20c3702501 Fixed the compatibility issue for the skins that are using MouseOverAction/MouseLeaveAction in Meters. 2010-08-13 23:20:20 +00:00
spx
2e32b0f5c1 Some minor fixes. 2010-08-06 07:40:43 +00:00
spx
64888434c9 - Added !RainmeterWriteKeyValue. (based on MattKing's code)
!RainmeterWriteKeyValue "Section" "Key" "Value" ("FileSpec"), where "FileSpec" is an optional parameter. If FileSpec is not present, the change is automatically done in the currently running skin file. If the bang is executed from command line, FileSpec is required.

- Some improvements of MouseOver/Leave detection.

- Fixed the issue that window dragging brings on MouseLeave if "Show window contents while dragging" is not set.
- Fixed the issue that window dragging can't be begun by dragging the Button.
- Fixed the issue that a reaction of the upper Button penetrates to the lower Buttons or the other window.
2010-08-03 15:10:42 +00:00
spx
0d26b72bbe Stability improvement for refreshing config. 2010-07-22 02:37:51 +00:00
spx
3f2268b6b2 Minor fix for multiple %APPDATA%. 2010-07-22 01:50:22 +00:00
spx
dc7ccdd7ed Fixed the issue that all grouping functions for Config are broken since r473. 2010-07-21 23:11:12 +00:00
jsmorley
b3507f6f8e Tooltips: Added ToolTipWidth= key | Fix for using [MeasureName] as ToolTipText alone. 2010-07-20 21:20:14 +00:00
jsmorley
ab272307a4 Minor fix by JamesAC to ToolTip routines
Many changes to Help files for 1.3 beta
Minor fix for Installer script
2010-07-17 19:11:05 +00:00
jsmorley
935852426a Added spx's meter/measure/config "Group" functionality.
Minor fix to installer script
2010-07-17 13:02:34 +00:00
jsmorley
ff153f3f86 Adding JamesAC's new ToolTips functionality.
Minor fix to the Rainmeter installer
Minor changes to RainBrowser and RainThemes
2010-07-17 00:06:24 +00:00
spx
f61a35a64d - Added "Group" option to Measure/Meter to operate Measures/Meters in bulk.
Usage:
    Group=group1 | group2 | group3
    * Concatenate group with the "|" if you'd like to assign multiple groups.

- Added !Bangs for Group. (!RainmeterShowMeterGroup, !RainmeterHideMeterGroup, !RainmeterToggleMeterGroup, !RainmeterEnableMeasureGroup, !RainmeterDisableMeasureGroup, !RainmeterToggleMeasureGroup)
Usage:
    !RainmeterShowMeterGroup [group] (Config)
    !RainmeterHideMeterGroup [group] (Config)
    !RainmeterToggleMeterGroup [group] (Config)
    !RainmeterEnableMeasureGroup [group] (Config)
    !RainmeterDisableMeasureGroup [group] (Config)
    !RainmeterToggleMeasureGroup [group] (Config)

- Modified logging feature. Added new "Logging" menu to the context menu.

- Added the manifest to Rainmeter.exe to apply visual style to button etc.
2010-07-07 23:46:44 +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
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
6551a62fba Fixed a problem that an UNC path isn't recognized as an absolute path. 2010-04-06 17:46:17 +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
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
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
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
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
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
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
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
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