Commit Graph

131 Commits

Author SHA1 Message Date
Birunthan Mohanathas
13b3241307 Minor tweaks and cleanup. 2011-12-09 08:40:19 +00:00
spx
2835739b12 Code tweaks and cleanup. 2011-12-09 03:28:19 +00:00
spx
8e8b7d1268 Code tweaks and cleanup. 2011-12-04 22:18:40 +00:00
Birunthan Mohanathas
8cb0a041e0 Changed: "Normal" z-position now stays on desktop by default 2011-11-10 11:50:47 +00:00
Birunthan Mohanathas
dfd53fb158 Fixed infinite loop when a Rainmeter.exe is called with a bang containing square brackets (e.g. Rainmeter.exe !Bang "[Text]") 2011-11-08 18:19:34 +00:00
spx
1808930c5a Code cleanup. 2011-10-29 10:36:07 +00:00
Birunthan Mohanathas
4f73f17cec Added ability to change language in Manage Settings. 2011-10-01 17:39:09 +00:00
spx
4f47897a3c Code cleanup. 2011-09-29 17:54:42 +00:00
spx
86fd454277 Code cleanup. 2011-09-29 17:14:51 +00:00
Birunthan Mohanathas
1493aec2a1 Partly reverted r975 (restored Rainmeter.dll). 2011-09-29 06:04:20 +00:00
Birunthan Mohanathas
13c17b9d1a - Removed support for using Rainmeter.dll as Litestep module
- Merged Rainmeter.dll and Rainmeter.exe
- Language resource file now located in \Language\<LanguageName>.dll
- Build.bat now automatically builds and packages all languages
2011-09-28 18:28:35 +00:00
Birunthan Mohanathas
e22db0b887 Added localization support. 2011-09-23 16:28:38 +00:00
spx
3518dbf07e Manage:
- Fixed that the selected skin isn't loaded when clicking "Load" button or menu.
- Fixed that the selected skin tab isn't disabled correctly when unloading the skin via the skin context menu.
2011-09-08 23:10:41 +00:00
Birunthan Mohanathas
f17602ee1d - Manage Skins: Load order can now be changed
- Fixed that the PLAY/PLAYLOOP commands didn't work with relative paths
- Errors that used to display in a messagebox are now logged and shown in the About Log dialog (which is opened when an error occurs)
- Some minor tweaks
2011-09-08 14:39:25 +00:00
spx
e258dc9137 Code cleanup. 2011-09-04 18:06:19 +00:00
Birunthan Mohanathas
8c1e7f2dfc Fixed that themes weren't loaded through Themes context menu if RainThemes was not installed. 2011-09-04 07:40:12 +00:00
Birunthan Mohanathas
754c33f82f - Script: Fixed that Unicode characters were not correctly displayed
- About Log: 20 last log items are now displayed on launch
- LOG_DEBUG messages are ignored from plugins only when not in Debug mode
2011-09-03 16:45:29 +00:00
spx
e721be6456 Fixed deadlock issue when About dialog is opened. 2011-08-31 11:06:35 +00:00
spx
f84b44a9f0 Code cleanup. 2011-08-28 16:42:34 +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
c0579e3b24 Relocated some context menu items to the resource file. 2011-08-19 03:12:01 +00:00
Birunthan Mohanathas
822c10060a - Added !SetOption/!SetOptionGroup bangs.
- Script: Added GetOption() function
2011-07-27 10:42:35 +00:00
spx
8515877c48 Tweaks. 2011-07-15 16:54:47 +00:00
Birunthan Mohanathas
f0fbc0f145 - Added !CommandMeasure bang. Instead of '!PluginBang "MeasureName Arguments' use '!CommandMeasure "MeasureName" "Arguments"'.
- Script: The !CommandMeasure argument must now be Lua code. For example:
!CommandMeasure "MeasureLuaScript" "someVar = 'hello'"
!CommandMeasure "MeasureLuaScript" "SomeFunc()"
2011-07-09 09:23:28 +00:00
Birunthan Mohanathas
6377db5724 Reverted r800/r801. Fixed r800 issue in a better way (thanks spx). 2011-05-02 11:58:02 +00:00
Birunthan Mohanathas
cb14736cbd Tweaks. 2011-05-01 17:10:49 +00:00
Birunthan Mohanathas
f66791253a Statistics now saved in Rainmeter.stats file in same folder as Rainmeter.ini 2011-04-16 20:05:14 +00:00
Birunthan Mohanathas
a9c0b76c2c Added Aero blur support. Documentation available at: http://rainmeter.net/RainCMS/?q=Skins_AeroBlur_beta 2011-04-08 18:14:32 +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
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
249e021001 Reverted r718. 2011-02-02 23:17:44 +00:00
spx
fdae154245 Fixed crash when the config is switched to the variant. 2011-01-28 18:06:54 +00:00
spx
2fafb5dcdc - Added !RainmeterUpdate/!RainmeterUpdateMeter(Group)/!RainmeterUpdateMeasure(Group).
- Changed Update= and UpdateDivider= behaviors. If you specify < 0 to them, measures/meters are not updated automatically.
2010-12-28 13:31:17 +00:00
spx
b9ae3a31d8 Code cleanups for better Unicode support in several !bangs. 2010-12-17 00:09:37 +00:00
jsmorley
68ae1fe491 Updating CSPlugingInputText
Adding Rainmeter.exe.config file to root to support dependent .dll files for C@ plugins
Adding Dependencies folder in \Plugins to support dependent .dll files for C@ plugins
Changes to server core Rainmeter codes to better export variables for C# plugins
Changes to Build.py
Changes to installer
2010-12-16 17:04:14 +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
spx
db4fac0877 Code cleanup & cosmetics. 2010-10-19 22:03:32 +00:00
jsmorley
1ee9137ea2 Updating all build files and processes to create 1.4 beta starting point.
Also adding file: TextFuncUF16.nsh to Rainstaller folder for UNICODE support.
If you download Build.py, be sure to set the paths to executables to your paths before using.
2010-10-12 15:01:48 +00:00
spx
15992c2dc3 Cosmetic changes. 2010-09-21 22:47:53 +00:00
spx
704558b7df Fixed a issue that Rainmeter crashes at LSLog(). (multithreading issue) 2010-09-19 09:21:25 +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
d9137c2413 Changes by JamesAC and spx to the "About" dialog. 2010-08-26 20:50:36 +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
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
4965f3859f - Fixed the issue that the check marks of all menu items in configs/root/variants menu are cleared if !RainmeterDeactivateConfig/!RainmeterToggleConfig is used.
- Fixed the issue that %APPDATA% isn't replaced if Rainmeter runs as different user.
- Some stability improvements for activating/deactivating configs.
2010-07-22 00:31:59 +00:00
spx
eb536cde54 - Added config's root menu.
- Fixed a small issue on creating menu cache.
- Added workaround that the context menu is shown repeatedly by using menu bangs.
2010-07-18 21:35:52 +00:00
spx
6b6635b9c9 Got rid of some redundant codes from r471. 2010-07-17 13:38:12 +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
5be6e9783d Adding code to improve DesktopWorkArea with mulitple monitors. This is code from user Jott, with some minor tweaks by spx
Adds DesktopWorkArea(x) where "x" is the desired monitor. DesktopWorkArea without a number is the primary monitor.
2010-07-10 12:56:37 +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
Birunthan Mohanathas
38409f2d05 * Several changes to the Rainmeter context menu (including handle leak fix)
* Rainmeter now opens text files with associated text editor (with fallback to Notepad) if ConfigEditor is not specifed
2010-06-23 12:36:39 +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
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
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
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
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
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
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
1ebff32421 Replaced the application icon.
The old config is backed up before it is upgraded.
2009-09-30 17:06:16 +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
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
1d1290e3fa Added Themes submenu to the Rainmeter's context and tray menus. 2009-08-12 17:11:52 +00:00
Kimmo Pekkola
e73d35e220 New !bang: !RainmeterQuit 2009-08-04 09:48:03 +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
1dbfc85b01 The stats are now written once per minute to the settings file. 2009-07-27 12:30:28 +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
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
5d2f960552 Code cleanup. 2009-02-14 10:11:28 +00:00
Kimmo Pekkola
30edc895f2 2009-02-10 18:37:48 +00:00