dragonmage wrote:Well there's an idea I had originally wanted someone to make with AHK, but if you could do it with Auto-It...
Rainmeter Theme Switcher
The only way a "theme switcher" would work would be to have an application which modified the Rainmeter.ini, then restarted Rainmeter. Which skins are loaded by Rainmeter is driven by the "Active" line for each skin in Rainmeter.ini. (Active=1, it loads the skin, Active=0, it doesn't) The only sensible approach is:
Have a program which when run:
1) Asks for a name and saves the current setup as a "Theme". It would save the current Rainmeter.ini file to a folder "\Themes\ThemeName", creating the directory if needed. The skins themselves would remain where they are, so you don't have to duplicate them all over the place causing version issues.
2) Displays a list of subfolders under "\Themes" and when one is selected stop Rainmeter, copy the Rainmeter.ini file from that folder to the Rainmeter home directory and restart Rainmeter. We would have to do the copy
while Rainmeter is stopped, as Rainmeter writes the current setup to Rainmeter.ini when it shuts down.
We would also need a ThemeSwitcher.cfg file where we would track the currently loaded theme so changes made manually (position, transparency, draggable, etc.) while the skin is loaded are copied "back" to the Theme folder when a theme switch is made. Otherwise changes will be lost on the next switch of themes. I'd have to do some testing, but I suspect a user could also break the whole thing if they aren't careful what they do manually to Rainmeter.ini while a theme is "loaded".
Unfortunately you can't drive Rainmeter by the command line as Rainmeter.exe doesn't seem to have enough sense to get out of it's own way. If you run Rainmeter.exe when it is already running, it just loads a complete second copy of Rainmeter, including all the skins defined as "Active" in Rainmeter.ini (just overlaying fresh copies of the skins on top of the ones already running). So you are using twice the CPU and twice the memory for nothing. Plus, I you can't "load" or "unload" a skin from the command line in any case. It's just driven by what is in Rainmeter.ini
I am open to messing with this if you have any thoughts though. It would be cool. I do have "themes" I use now manually, when I want a "dark" desktop, or my Orangy/Brown skins, etc.