[bug] Issue with Installing Skin

Report bugs with the Rainmeter application and suggest features.
User avatar

Re: [bug] Issue with Installing Skin

September 8th, 2018, 4:32 pm
jsmorley
Developer   [17961 posts]

You know what, I'm wrong and you are right...

ConfigEditor does support #PROGRAMDRIVE# and #PROGRAMPATH#. Let me dig a bit more...

Edit: As it turns out, we modified ConfigEditor to use those values, but it is the only option in Rainmeter.ini that will.
User avatar

Re: [bug] Issue with Installing Skin

September 8th, 2018, 4:36 pm
jsmorley
Developer   [17961 posts]

This still has nothing to do with SkinInstaller though, which most certainly doesn't know anything about any variables.

SkinInstaller doesn't even require that Rainmeter be running...

Re: [bug] Issue with Installing Skin

September 8th, 2018, 4:55 pm
oZone
   [50 posts]

jsmorley wrote:You are being tricked...

What is happening is that the #PROGRAMPATH# is being ignored, and you end up with

ConfigEditor=..\Notepad++Portable\Notepad++Portable.exe

Since ConfigEditor can use relative paths in its definition:



That is the same thing, so it works fine.


I see, so with ConfigEditor=#PROGRAMDRIVE#Notepad++Portable\Notepad++Portable.exe should I end with ConfigEditor=Notepad++Portable\Notepad++Portable.exe or with ConfigEditor=\Notepad++Portable\Notepad++Portable.exe. Because if I remove #PROGRAMDRIVE# it doesn't work.

Also how does it work in setting tab, where variable is replaced with its string. Does it matter for rainmeter or it's only for us to see path for editor.

Sorry if I am being annoying I am just trying to understand how it works.

Edit:
already answered
jsmorley wrote:You know what, I'm wrong and you are right...

ConfigEditor does support #PROGRAMDRIVE# and #PROGRAMPATH#. Let me dig a bit more...

Edit: As it turns out, we modified ConfigEditor to use those values, but it is the only option in Rainmeter.ini that will.
Last edited by oZone on September 8th, 2018, 5:03 pm, edited 1 time in total.

Re: [bug] Issue with Installing Skin

September 8th, 2018, 4:59 pm
oZone
   [50 posts]

jsmorley wrote:This still has nothing to do with SkinInstaller though, which most certainly doesn't know anything about any variables.

SkinInstaller doesn't even require that Rainmeter be running...


I know but it reads rainmeter.ini to install skin to skin folder defined by SkinPath, doesn't it.

So my assumption was that if ConfigEditor and skin sections (monitor variables) can use built-in variables SkinPath could too.
User avatar

Re: [bug] Issue with Installing Skin

September 8th, 2018, 5:12 pm
jsmorley
Developer   [17961 posts]

oZone wrote:I know but it reads rainmeter.ini to install skin to skin folder defined by SkinPath, doesn't it.

So my assumption was that if ConfigEditor and skin sections (monitor variables) can use built-in variables SkinPath could too.


It's not an unwarranted assumption, but it doesn't work that way. The routines that set and resolve those built-in variables are a part of the Rainmeter application, and not part of the entirely separate SkinInstaller application. That does read Rainmeter.ini to get the path to the skins, but those built-in variables don't exist in that context, and really shouldn't be used in SkinPath in Rainmeter.ini, as that can only cause problems.

It's possible that this could be changed, but I suspect it would be a fair amount of work and code to implement in SkinInstaller, and would likely be really, really low on any priority list, as it just barely makes any sense at all to me why it would ever be used. Just define SkinPath in Rainmeter.ini as a fixed, fully qualified path.

Things like SkinPath and ConfigEditor and the like, the stuff in the [Rainmeter] section of Rainmeter.ini, can't be distributed with a Layout in a .rmskin, as they need to be entirely under the control of the "user" and never any "author". So there is just no reason why they need to be in any way "dynamic" that I can think of right off.

Re: [bug] Issue with Installing Skin

September 8th, 2018, 5:30 pm
oZone
   [50 posts]

jsmorley wrote:It's not an unwarranted assumption, but it doesn't work that way. The routines that set and resolve those built-in variables are a part of the Rainmeter application, and not part of the entirely separate SkinInstaller application. That does read Rainmeter.ini to get the path to the skins, but those built-in variables don't exist in that context, and really shouldn't be used in SkinPath in Rainmeter.ini, as that can only cause problems.

It's possible that this could be changed, but I suspect it would be a fair amount of work and code to implement in SkinInstaller, and would likely be really, really low on any priority list, as it just barely makes any sense at all to me why it would ever be used. Just define SkinPath in Rainmeter.ini as a fixed, fully qualified path.

Things like SkinPath and ConfigEditor and the like, the stuff in the [Rainmeter] section of Rainmeter.ini, can't be distributed with a Layout in a .rmskin, as they need to be entirely under the control of the "user" and never any "author". So there is just no reason why they need to be in any way "dynamic" that I can think of right off.


Thanks for explanation.

btw SkinPath should not use relative path as it will break some built-in variables
User avatar

Re: [bug] Issue with Installing Skin

September 8th, 2018, 5:33 pm
jsmorley
Developer   [17961 posts]

oZone wrote:Thanks for explanation.

btw SkinPath should not use relative path as it will break some built-in variables


Yes, I believe that only ConfigEditor supports relative paths.

Re: [bug] Issue with Installing Skin

September 8th, 2018, 5:47 pm
oZone
   [50 posts]

jsmorley wrote:Yes, I believe that only ConfigEditor supports relative paths.


It somehow works, skins are loaded and works fine, unless they use e.g. #@#.

Should this information about ConfigEditor and SkinPath be in documentation?
User avatar

Re: [bug] Issue with Installing Skin

September 10th, 2018, 1:15 pm
jsmorley
Developer   [17961 posts]

oZone wrote:It somehow works, skins are loaded and works fine, unless they use e.g. #@#.

Should this information about ConfigEditor and SkinPath be in documentation?


I have changed SkinPath to indicate that it requires a fully qualified path. I'd have to be convinced that there is some good reason to talk about using built-in variables in Rainmeter.ini. I don't see one.

Return to “Bugs & Feature Suggestions”



Who is online

Users browsing this forum: No registered users and 0 guests