Page 1 of 2

[Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 9:05 am
by strykor
As stated above, when I start my computer I always have to click "refresh all" to have Rainmeter load all skins successfully. And sometimes the weather Apps only work on refreshing them individually.

What could be a reason of this? It is mostly concernign the News Feed (Google, Yahoo and Gizmodo)...

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 10:17 am
by jsmorley
Sounds to me like Rainmeter is loading before your network connection is stabilized. You might was to look at some kind of Startup Delayer program perhaps.

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 11:03 am
by strykor
Yeah, that could be, because I am using a WLAN chip in my computer. You are smart, never would have looked for that.

Is there any option in rainmeter that refreshes the skin automatically but only once after a certain time being loaded?

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 11:17 am
by jsmorley
strykor wrote:Yeah, that could be, because I am using a WLAN chip in my computer. You are smart, never would have looked for that.

Is there any option in rainmeter that refreshes the skin automatically but only once after a certain time being loaded?
Probably, but not easily. It would take a somewhat complicated shell-game that is made more difficult by the fact that from the standpoint of Rainmeter, "loaded" and "refreshed" are virtually the same thing.

I really think the easiest solution is probably something like http://www.r2.com.au/page/products/show/startup-delayer/ or another utility like that. I have no opinion on which of the many startup delay programs out there is the best. This one at least claims it can delay a program until a network connection is available, which sounds promising.

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 1:21 pm
by Jkon
Could the wifistatus plugin be used to determine connection and send a refresh bang on a positive result?

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 1:30 pm
by jsmorley
Jkon wrote:Could the wifistatus plugin be used to determine connection and send a refresh bang on a positive result?
There are any number of ways you could cobble something together, but the trick is to do something that is reasonably simple and is smart enough to only do its thing once when the computer is restarted, and not on every refresh of Rainmeter or loading of a Layout or other times. An endless loop of refreshes would be easy to stumble into. You can't use "uptime" as Windows 8 handles that differently.

My gut reaction if you really don't want to use some external utility like Startup Delayer would be to create a simple invisible skin that uses the new INTERNET_CONNECTIVITY option in the SysInfo plugin to check for internet connectivity. It would simply check once a second, and as soon as the result changed from -1 to 1, it would use a !LoadLayout bang to load a saved Layout with the actual setup you want.

So:

1) Save a Layout of your current "real" setup in Manage / Layout. Let's call it "MySetup".
2) Create another Layout, checking the "Save as an empty layout" box before you save it. Call this one "Startup".
3) Load that new "Startup" Layout. You will have no skins loaded.
4) Create the little "startup" skin with the SysInfo measure in it. Let's call it "DelayUntilNet".
5) Temporarily comment out the bang that loads the "real" Layout, so you can:
6) Load just this "DelayUntilNet" skin.
7) Again save how things are now as the Layout "Startup". Now you have two Layouts, "MySetup" (with all your real skins) and "Startup" with just that DelayUntilNet skin.
8) Load the Layout "MySetup".
9) Edit the "DelayUntilNet" skin and put back the bang that makes it functional. Don't load it though.
10) In Windows, find the shortcut for Rainmeter that is in your Startup folder. This is in "C:\Users\YourName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
11) Right click this shortcut and select "Properties".
12) Edit the "Target" field and add a !LoadLayout bang to the end of it. So something like "C:\Program Files\Rainmeter\Rainmeter.exe" !LoadLayout Startup

That's about it.

Now when your computer restarts (and only when it restarts) Rainmeter will be started (as it always did) but with that "Startup" Layout loaded. That will load our "DelayUntilNet" skin and nothing else. No Rainmeter skins will be on the screen.

As soon as that "DelayUntilNet" skin sees that there is an internet connection, it will load the "MySetup" Layout, which is all your regular skins. The "DelayUntilNet" skin is not included in that Layout, so it is unloaded and will only be activated again when you reboot.

You are also going to want be sure to keep your "MySetup" Layout "up-to-date" as you make changes in Rainmeter, so you don't end up saying "goddammit!" every time you reboot.

There are probably other ways as well, but as you can see, it's going to be a fair amount of effort just to avoid using something external like that Startup Delayer. Up to you of course.

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 1:53 pm
by Jkon
Could a substitution on the SSID key not simply be put through a conditional whereby if the condition fails, rainmeter does nothing, if the condition is met, rainmeter refreshes all and closes the current config or at least disables the current measure if you wish to continue using the wifi config.

There is probably a glaringly obvious problem with that,it just sounds way too easy. Ive been away from rainmeter for too long, got a lot of catching up to do.

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 2:08 pm
by jsmorley
Jkon wrote: There is probably a glaringly obvious problem with that,it just sounds way too easy. Ive been away from rainmeter for too long, got a lot of catching up to do.
Yes, if you unload a skin, then it won't be there the next time you restart. If you disable the measure, it will again be "enabled" and fire any time the skin is refreshed, and there is your endless loop...

Before anyone suggests using !WriteKeyValue / OnRefreshAction / OnCloseAction to persistently keep track of the state of things, that is unreliable if Rainmeter or Windows crashes or you lose power etc.

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 18th, 2014, 2:27 pm
by jsmorley
The actual "DelayUntilNet" skin could be as simple as:

Code: Select all

[Rainmeter]
Update=1000

[MeasureInternet]
Measure=Plugin
Plugin=SysInfo
SysInfoType=INTERNET_CONNECTIVITY
IfEqualValue=1
IfEqualAction=[!LoadLayout MySetup]

[MeterDummy]
Meter=String
Note: This REQUIRES the latest 3.1 beta of Rainmeter from http://rainmeter.net, and won't work right on Windows XP, only Vista / Win7 / Win8. There is a slightly different skin you could use that would do the same thing on XP, but who cares about XP? It should die...

Re: [Help] Rainmeter does not load all Skins on Startup

Posted: January 19th, 2014, 12:25 am
by Jkon
I see your point about the endless loop alright. And while maybe not the easiest solution you have there, it is a very smart one.