Commit Graph

110 Commits

Author SHA1 Message Date
spx
38b4c4d865 Code cleanup. 2011-09-03 21:51:25 +00:00
JamesAC
aa45f4fc7b Added the ability to bypass any defined actions by using ctrl when clicking the tray icon 2011-09-03 14:29:17 +00:00
Birunthan Mohanathas
69f3ab1803 - Added Manage dialog, which consolidates RainBrowser and RainThemes into a single UI
- Updated About dialog
- Removed RainBrowser and RainThemes from build
2011-08-28 10:58:26 +00:00
spx
8515877c48 Tweaks. 2011-07-15 16:54:47 +00:00
spx
2a030c084c Now re-registers Rainmeter icon when Explorer was restarted. 2011-04-19 00:02:00 +00:00
Birunthan Mohanathas
b92d8276d3 - Rainstaller now preserves statistics when applying theme
- Build.bat now checks "Program Files (x86)" if files don't exist in "Program Files"
2011-04-07 13:47:26 +00:00
Birunthan Mohanathas
a92bdd9b18 Cosmetic changes to code. 2011-03-29 19:21:57 +00:00
spx
96f8407c74 Fixed an issue that Rainmeter crashes if bang is executed via exe during initializing the skins. 2011-02-16 14:46:17 +00:00
spx
fe9fd9f476 Code cleanup. 2011-02-15 16:26:54 +00:00
spx
1ba57f2adf Fixed some Lua related issues.
Removed some internal functions from exposed functions for Lua.
Code cleanup and optimizing for VC2010.
2011-02-15 13:22:19 +00:00
Birunthan Mohanathas
6a5173c860 Upgrading development environment to Visual C++ 2010. 2011-02-10 16:09:05 +00:00
spx
b0af82a25d Cleaned up header dependencies to avoid unnecessary compiling. 2011-02-07 08:02:12 +00:00
Birunthan Mohanathas
a8aa2825a2 Updated installer graphics and made some other minor changes. 2011-02-03 15:52:45 +00:00
spx
7ea3a762ac - Fixed that r716 (precompiled header) doesn't work on x64.
- Now uses constructor initialization list in each class.
- TintedImage: Code cleanup.
2011-01-29 00:11:01 +00:00
spx
fdae154245 Fixed crash when the config is switched to the variant. 2011-01-28 18:06:54 +00:00
spx
0ad2ef9414 Code cleanup. 2011-01-24 10:15:05 +00:00
spx
9c75cf3423 Code cleanup. 2010-12-21 04:49:01 +00:00
JamesAC
c50f1c27f2 - Replace DebugLog() with LogWithArgs(int nLevel, const WCHAR* format, ... ), so that variable strings can be logged but the log level can be set to those other than LOG_DEBUG
- Note: DebugLog() is still in the code as I was not sure whether it is required to maintain Litestep interoperability
- Replaced instances of LOG_DEBUG where other log levels would be more appropriate
2010-12-19 23:06:13 +00:00
spx
d1a7b604df Core dll:
- Replace swprintf/wsprintf/wcscpy/wcscat to _snwprintf_s/wcsncpy_s/wcsncat_s.
- Changed printf format parameter strictly for supporting both 32bit and 64bit.
- Fixed an issue that !RainmeterWriteKeyValue doesn't accept %APPDATA%\Rainmeter path.
- Code cleanup.
2010-12-16 20:35:44 +00:00
spx
3324084c7f Fixed an issue that TrayMeasure doesn't work with Measure=PLUGIN. 2010-12-08 02:46:41 +00:00
Birunthan Mohanathas
f0f7bd9121 Removed useless code. 2010-12-07 18:12:13 +00:00
spx
f0eb6d5da0 - Improved error handling for creating TrayMeasure.
- Code cleanup.
2010-12-06 08:59:55 +00:00
Birunthan Mohanathas
559b5ae05f About dialog now opens with Log selected as default. Changed DisableDrag=1/0 to DisableDragging=1/0. 2010-11-27 10:57:59 +00:00
spx
999ab0bd18 Code optimization. 2010-11-25 22:00:34 +00:00
Birunthan Mohanathas
1f3a04e54e Added DisableDrag=1/0 to lock skins into position.
Added DisableRDP=1/0 to disable redraw during RDP session (thanks to FUR10N for the code).
Minor changes to the installer and Rainstaller.
2010-11-24 15:34:07 +00:00
spx
cab258a7e5 Code optimization and removed unused part for reducing core dll size. 2010-11-11 20:24:59 +00:00
jsmorley
6d9834a89e Fixed a small bug created by the new "Downloads" context menu. 2010-10-26 16:10:42 +00:00
jsmorley
43751f3217 JamesAC added "Rainmeter Downloads" to the main context menu, which will open the user's browser to the skin downloads page in version 1.4. 2010-10-25 19:58:53 +00:00
spx
15992c2dc3 Cosmetic changes. 2010-09-21 22:47:53 +00:00
spx
df146e4eb4 Code cleanup & cosmetic. 2010-09-17 08:47:22 +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
494a7c77ce Added 32x32 icon image for Alt+Tab. 2010-08-25 15:48:21 +00:00
spx
bea3b2821a Modified for icons on About dialog box. 2010-08-25 14:36:20 +00:00
spx
98c1f70f17 - Some changes for online manual.
- About dialog now indicates "Beta" or not beta on version information.
2010-08-05 17:48:52 +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
d07e8665b0 Modified the behavior when the log file was deleted manually. 2010-07-08 10:59:06 +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
jsmorley
b16f02d243 Added changes by JamesAC, Spx and Patrick/Dexpot to expand the range of information which can be requested from Rainmeter via Windows Messages. (SendMessage/WM_COPYDATA)
See the header file RainmeterQuery.h for details and usage help.
2010-06-28 22:30:20 +00:00
jsmorley
53934aa6c7 Fix for context menu to use ConfigEditor or Windows association for .ini when doing "Edit Settings" 2010-06-23 18:03:55 +00:00
spx
181dffe0bd Added RainmeterQuery.h for querying the data from the other applications by using Window Message. Thus modified some related codes. 2010-06-21 19:48:00 +00:00
jsmorley
8a47a191d7 Changes to Rainstaller and RainThemes to support new version checking method.
Minor fix to a couple of typos in the version checking code
Changed "Update Available" to "New Version Available"
2010-06-21 17:14:56 +00:00
jsmorley
8785516c09 1) JamesAC / spx change to Windows Messages / Dexpot support, with fix for copy / paste error in previous commit.
2) Change to version checking:
* CheckVersion= setting depreciated.  Removed from "About" dialog and automatically ignored and removed from Rainmeter.ini at Rainmeter start.
* New DisableVersionCheck= (1/0) setting added, which now changes the default from "don't check version" to "do check version" unless this is set to "1"
2010-06-21 16:00:19 +00:00
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
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
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
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
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
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
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
Kimmo Pekkola
e84e7d534d The skin files can read other files with @include statement. 2009-09-18 15:30:51 +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
1d1290e3fa Added Themes submenu to the Rainmeter's context and tray menus. 2009-08-12 17:11: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
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
Kimmo Pekkola
5d2f960552 Code cleanup. 2009-02-14 10:11:28 +00:00
Kimmo Pekkola
30edc895f2 2009-02-10 18:37:48 +00:00