It is currently November 18th, 2018, 11:39 pm

Trouble Changing Skin Path

Help with creating, editing & fixing problems with skins
simeonrediger
Posts: 3
Joined: September 16th, 2018, 12:54 am

Trouble Changing Skin Path

simeonrediger » September 16th, 2018, 1:19 am

I recently installed Rainmeter, and it set my skin path to my Documents folder. I don't particularly like that fact, so I moved it to C:\Program Files\Rainmeter\Skins\. I looked for methods within the Rainmeter application to change the Skin Path address, but the only thing I could find was in the settings editor ("Edit Settings" in the bottom toolbar), where I can manually type the path at the top. After changing that to SkinPath=C:\Program Files\Rainmeter\Skins\, saving, and refreshing (as well as closing and re-opening, and re-installing), still none of my skins are discoverable.

Also, if i select "Open Log" in the bottom toolbar and go to "Versions", it still has the old Documents path listed for Skin Path.

I've also tried C:\"Program Files"\Rainmeter\Skins\ to see if the space was causing issues and thereby forcing Rainmeter to fall back on its default path, but that similarly had no effect.
User avatar
jsmorley
Developer
Posts: 18329
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Trouble Changing Skin Path

jsmorley » September 16th, 2018, 2:25 am

You can change SkinPath by using Edit Settings and changing that entry to anything you want, but be sure that it exists, there is at least one subfolder in it, and that that subfolder contains at least one skin. After you change it, exit and restart Rainmeter.

If you try to change this and restart Rainmeter before the defined folder exists, it will say "I don't think so Tim" and change it back to the defaults. If you try to change this and restart when the defined folder exists, but has no skins, Rainmeter will produce a "No skins found" error, yak up a hairball, and exit.

The safest way to do this is:

1) Open Rainmeter.ini in your editor with "Edit settings".
2) Exit Rainmeter.
3) Change the SkinPath option to the new location. Do NOT use "quotes".
4) Save Rainmeter.ini. Exit your editor if you want.
5) Move the entire Skins\ folder to the new location.
6) Start Rainmeter.

This is your computer, but I am strongly opposed to storing program "data" in C:\Program Files. That is completely against how Windows wants you to work, as it wants "programs" in Program Files, "data" in Documents, and "settings" in AppData (user specific) or ProgramData (global). To each his own though... I'm in no way opposed to "portable", but that should not be in C:\Program Files. User Account Control is going to constantly fight you unless you turn it off, which is a bad idea in my view.

Rainmeter skins generally don't write to the Skins\ folder while they are running. Most of the "temporary" stuff that Rainmeter might do is in fact done in Windows Temp folder, and so in theory having Skins\ be in C:\Program Files is sorta ok. However, there are skins that do write to their own folder, using !WriteKeyValue or DownloadFile, and User Account Control is just going to pitch a complete fit about that. Make no mistake, Windows DOES NOT WANT programs to "write" to C:\Program Files during their operation. Again, to each his own, but in my personal view, putting Skins\ in C:\Program Files is a bad idea.

If for some reason you don't want to use Documents, then I would recommend just running Rainmeter "portable". Do NOT put it in C:\Program Files, but create C:\Rainmeter or C:\Users\YourName\Rainmeter or whatever you want that is not in a "protected" folder, and everything, program, skins, settings, plugins, all will be kept in that single folder.
simeonrediger
Posts: 3
Joined: September 16th, 2018, 12:54 am

Re: Trouble Changing Skin Path

simeonrediger » September 16th, 2018, 3:38 am

jsmorley wrote:1) Open Rainmeter.ini in your editor with "Edit settings".
2) Exit Rainmeter.
3) Change the SkinPath option to the new location. Do NOT use "quotes".
4) Save Rainmeter.ini. Exit your editor if you want.
5) Move the entire Skins\ folder to the new location.
6) Start Rainmeter.
For the sake of others reading this, I tried this, and it didn't work for me; however, read below.
jsmorley wrote:This is your computer, but I am strongly opposed to storing program "data" in C:\Program Files. That is completely against how Windows wants you to work, as it wants "programs" in Program Files, "data" in Documents, and "settings" in AppData (user specific) or ProgramData (global). To each his own though... I'm in no way opposed to "portable", but that should not be in C:\Program Files. User Account Control is going to constantly fight you unless you turn it off, which is a bad idea in my view.
I'll take your advice and leave it in Documents. I've used Mac practically my whole life but recently bought a Windows PC for gaming, so I'm still learning about how this OS works. (In Mac OS, Documents is where one keeps personal documents; app-related documents are kept in the Library, which it seems I've erroneously analogized to Program Files).
User avatar
jsmorley
Developer
Posts: 18329
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Trouble Changing Skin Path

jsmorley » September 16th, 2018, 3:49 am

simeonrediger wrote:For the sake of others reading this, I tried this, and it didn't work for me; however, read below.


I'll take your advice and leave it in Documents. I've used Mac practically my whole life but recently bought a Windows PC for gaming, so I'm still learning about how this OS works. (In Mac OS, Documents is where one keeps personal documents; app-related documents are kept in the Library, which it seems I've erroneously analogized to Program Files).
I'm not saying Windows does this in the best possible way, but it sorta is what it is, and it does have a certain rough logic to it, mostly designed to keep you safe from rouge programs that would love to be able to mess with stuff in C:\Program Files at will, as well as being able to install a program once, but have entirely different program settings and data for different accounts on your computer.

So:

C:\Program Files : This is where the programs are installed. Windows will warn you with User Account Control when the program is first installed, but once you say "OK", the assumption is that NOTHING will or can write to this folder again without you actually manually doing it, and each time you do, you will again be warned. By default, programs may NOT write to their own program folder.

C:\Users\YourName\AppData & C:\ProgramData : This is where programs will keep and modify any "settings" for the program that it needs to manage. You generally won't manually change this stuff, which is why by default these folders are "hidden" from view. AppData is simply the "per user" form of this, and ProgramData is used for programs that are installed for "all users", and thus share settings.

C:\Users\YourName\Documents : This is where you store things that you create and save using your programs. In the past, "Documents" was pretty much exclusively used, but you will find that more and more things are being created one level up in C:\Users\YourName, such as "Pictures", "Music", "Videos" and the like. In any case, this is the location that is user-specific, and fully open for you to manually change as you see fit. This is what I meant when I suggested that if you want to keep some "pure" meaning for Documents, you could set SkinPath to C:\Users\YourName\Rainmeter\Skins and put your skins there.

As to your description of how thing are on a Mac, there is some logic to that, as skins in Rainmeter are some weird hybrid between a "document" that you create in Rainmeter, and a "setting" that Rainmeter uses. The ancient .ini file format only clouds that a bit more, as .ini was originally designed to house "settings" for a program. While an argument could be made that skins would be a better fit in C:\Users\YourName\AppData\Roaming\Rainmeter\Skins, the problem is that there is just a TON of "manual" work that you need to do when working on skins, and by default Windows "hides" AppData. While you can unhide it, that issue will be a major point of confusion for our new users. Using Documents was the closest we could get to being easy and reasonably logical, and still working the way Windows really wants us to work.

Note: In future versions of Rainmeter, we may change the default for Skins\ out of Documents, and up one level to C:\Users\YourName\Rainmeter\Skins as described above. This isn't because we don't think Documents should be used this way, but rather because Windows has instituted a new "Protected Folders" security option, which won't allow programs to change things in the Documents folder except with an explicit "Save As" action by the user. There are several specific folders which will be protected this way, including "Documents", "Pictures", "Music", "OneDrive", and for some reason the Desktop. The intent is to try to defeat the "ransomware" malware that has been a problem recently. While this setting is "off" by default now, it might default to "on" at some point, or become more popular, and that is going to cause problems for Rainmeter. This is still under discussion, but we might move to head this problem off at some point.
simeonrediger
Posts: 3
Joined: September 16th, 2018, 12:54 am

Re: Trouble Changing Skin Path

simeonrediger » September 16th, 2018, 6:17 am

jsmorley wrote:
I'm not saying Windows does this in the best possible way, but it sorta is what it is, and it does have a certain rough logic to it, mostly designed to keep you safe from rouge programs that would love to be able to mess with stuff in C:\Program Files at will, as well as being able to install a program once, but have entirely different program settings and data for different accounts on your computer.

So:

C:\Program Files : This is where the programs are installed. Windows will warn you with User Account Control when the program is first installed, but once you say "OK", the assumption is that NOTHING will or can write to this folder again without you actually manually doing it, and each time you do, you will again be warned. By default, programs may NOT write to their own program folder.

C:\Users\YourName\AppData & C:\ProgramData : This is where programs will keep and modify any "settings" for the program that it needs to manage. You generally won't manually change this stuff, which is why by default these folders are "hidden" from view. AppData is simply the "per user" form of this, and ProgramData is used for programs that are installed for "all users", and thus share settings.

C:\Users\YourName\Documents : This is where you store things that you create and save using your programs. In the past, "Documents" was pretty much exclusively used, but you will find that more and more things are being created one level up in C:\Users\YourName, such as "Pictures", "Music", "Videos" and the like. In any case, this is the location that is user-specific, and fully open for you to manually change as you see fit. This is what I meant when I suggested that if you want to keep some "pure" meaning for Documents, you could set SkinPath to C:\Users\YourName\Rainmeter\Skins and put your skins there.

As to your description of how thing are on a Mac, there is some logic to that, as skins in Rainmeter are some weird hybrid between a "document" that you create in Rainmeter, and a "setting" that Rainmeter uses. The ancient .ini file format only clouds that a bit more, as .ini was originally designed to house "settings" for a program. While an argument could be made that skins would be a better fit in C:\Users\YourName\AppData\Roaming\Rainmeter\Skins, the problem is that there is just a TON of "manual" work that you need to do when working on skins, and by default Windows "hides" AppData. While you can unhide it, that issue will be a major point of confusion for our new users. Using Documents was the closest we could get to being easy and reasonably logical, and still working the way Windows really wants us to work.

Note: In future versions of Rainmeter, we may change the default for Skins\ out of Documents, and up one level to C:\Users\YourName\Rainmeter\Skins as described above. This isn't because we don't think Documents should be used this way, but rather because Windows has instituted a new "Protected Folders" security option, which won't allow programs to change things in the Documents folder except with an explicit "Save As" action by the user. There are several specific folders which will be protected this way, including "Documents", "Pictures", "Music", "OneDrive", and for some reason the Desktop. The intent is to try to defeat the "ransomware" malware that has been a problem recently. While this setting is "off" by default now, it might default to "on" at some point, or become more popular, and that is going to cause problems for Rainmeter. This is still under discussion, but we might move to head this problem off at some point.
Thanks, this was really helpful.