This is my last solution... I have tested actually !LoadLayout bang on my Rainmeter, and confirmed that it works well at least for me. But honestly, I am not confident. Maybe, there are some correct/smart solutions from other members... it's my limitation on Rainmeter skill. Now I gave up, sorry.
Code: Select all
[Rainmeter]
Update=1000
[Variables]
OnRefresh=1
MaxLayout=6
MyLayout1=(Your Layout Name 1)
MyLayout2=(Your Layout Name 2)
MyLayout3=(Your Layout Name 3)
MyLayout4=(Your Layout Name 4)
MyLayout5=(Your Layout Name 5)
MyLayout6=(Your Layout Name 6)
LayoutChangeInterval=3600
SecondsAfterRefresh=0
@Include=Settings.inc
[MeasureSecondsAfterRefresh]
Measure=Calc
Formula=1
OnUpdateAction=[!SetVariable SecondsAfterRefresh (#SecondsAfterRefresh#+1)]
IfCondition=((#SecondsAfterRefresh#%#LayoutChangeInterval#)=0) && (#OnRefresh#=0)
IfTrueAction=[!WriteKeyValue Variables Layout (#Layout#+1) Settings.inc][!SetVariable Layout (#Layout#+1)][!EnableMeasure LayoutChange][!UpdateMeasure LayoutChange]
IfCondition2=(#OnRefresh#=1)
IfTrueAction2=[!SetVariable OnRefresh 0]
DynamicVariables=1
[LayoutChange]
Measure=Calc
Formula=1
IfConditionMode=1
IfCondition=(#Layout#>#MaxLayout#)
IfTrueAction=[!WriteKeyValue Variables Layout 1 Settings.inc][!SetVariable Layout 1][!LoadLayout #MyLayout1#]
IfFalseAction=[!LoadLayout [#MyLayout[#Layout]]]
DynamicVariables=1
UpdateDivider=-1
Disabled=1
[meterDummy]
Meter=String
Code: Select all
[Variables]
Layout=1