It is currently April 26th, 2024, 9:18 pm

Dear God, I hope I can clean this code up

Get help with creating, editing & fixing problems with skins
User avatar
brijamelsh
Posts: 47
Joined: July 16th, 2010, 4:24 am

Dear God, I hope I can clean this code up

Post by brijamelsh »

Code: Select all

LeftMouseDownAction=!Execute ["#ADDONSPATH#NirCmd\Nircmd.exe" inisetval "#CURRENTPATH#UserVariables.inc" "Variables" "Swatch1" "00FFFF"]["#ADDONSPATH#NirCmd\Nircmd.exe" inisetval "#CURRENTPATH#UserVariables.inc" "Variables" "Swatch2" "0000FF"]["#ADDONSPATH#NirCmd\Nircmd.exe" inisetval "#CURRENTPATH#UserVariables.inc" "Variables" "Swatch3" "FF00FF"]["#ADDONSPATH#NirCmd\Nircmd.exe" inisetval "#CURRENTPATH#UserVariables.inc" "Variables" "Swatch4" "FF0000"]["#ADDONSPATH#NirCmd\Nircmd.exe" inisetval "#CURRENTPATH#UserVariables.inc" "Variables" "Swatch5" "FFFF00"]["#ADDONSPATH#NirCmd\Nircmd.exe" inisetval "#CURRENTPATH#UserVariables.inc" "Variables" "Swatch6" "00FF00"][!RainmeterRefresh #CURRENTCONFIG#]
Does anyone know of a way to change multiple values of multiple variables with one exec of nircmd?
User avatar
kenz0
Developer
Posts: 263
Joined: July 31st, 2009, 2:23 pm
Location: Tokyo, JPN

Re: Dear God, I hope I can clean this code up

Post by kenz0 »

Nircmd allows you to use multiple commands with script.
First of all, you need to make script file like this, then save it as "script.ncl" to #CURRENTPATH#.

Code: Select all

inisetval "C:\Users\kenz0\Documents\Rainmeter\Skins\MyConfig\UserVariables.inc" "Variables" "Swatch1" "00FFFF"
inisetval "C:\Users\kenz0\Documents\Rainmeter\Skins\MyConfig\UserVariables.inc" "Variables" "Swatch2" "0000FF"
inisetval "C:\Users\kenz0\Documents\Rainmeter\Skins\MyConfig\UserVariables.inc" "Variables" "Swatch3" "FF00FF"
inisetval "C:\Users\kenz0\Documents\Rainmeter\Skins\MyConfig\UserVariables.inc" "Variables" "Swatch4" "FF0000"
inisetval "C:\Users\kenz0\Documents\Rainmeter\Skins\MyConfig\UserVariables.inc" "Variables" "Swatch5" "FFFF00"
inisetval "C:\Users\kenz0\Documents\Rainmeter\Skins\MyConfig\UserVariables.inc" "Variables" "Swatch6" "00FF00"
exec show "C:\Program Files\Rainmeter\Rainmeter.exe" !RainmeterRefresh MyConfig
And then, execute the "script.ncl" with !Bang on the skin.

Code: Select all

!Execute ["#ADDONSPATH#NirCmd\Nircmd.exe" script "#CURRENTPATH#script.ncl"]
Note, this way is very convenient, but actually it has a practical issue.
Built-in variables like #CURRENTPATH# isn't applied to script file, so you have to specify proper path and name of config by oneself.
.
Image
User avatar
brijamelsh
Posts: 47
Joined: July 16th, 2010, 4:24 am

Re: Dear God, I hope I can clean this code up

Post by brijamelsh »

Well it's more code than before, but it does look a lot cleaner, thanks.