Code: Select all
[Rainmeter]
AccurateText=1
OnRefreshAction=[!CommandMeasure MeasureActionTimer "Execute 1"]
[Variables]
text="Wed, 00 May 2020 ● ‒000 °C ● Showers Early / Clearing Late"
animationSpeed=24
marqueeBeginWait=1500
marqueeEndWait=1500
marquee=0
[MeasureMarqueeOffset]
Measure=Calc
Formula=max(0,([MeterText:W] - [MeterTextContainer:W]))
DynamicVariables=1
[MeasureActionTimer]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Move1,#animationSpeed#,[MeasureMarqueeOffset:] | Wait #marqueeEndWait# | Reset1 | Wait #marqueeBeginWait# | DoOver1
Reset1=[!SetVariable marquee 0][!UpdateMeasure MeasureActionTimer][!UpdateMeter MeterText][!Redraw]
Move1=[!SetVariable marquee "(#marquee# - 1)"][!UpdateMeasure MeasureActionTimer][!UpdateMeter MeterText][!Redraw]
DoOver1=[!CommandMeasure MeasureActionTimer "Execute 1"]
DynamicVariables=1
[MeterBackground]
Meter=Shape
Shape=Rectangle 0,0,168,13 | StrokeWidth 0.5 | Stroke Color 255,64,32 | Fill Color 32,32,32,128
[MeterTextContainer]
Meter=Image
SolidColor=255,255,255,255
X=31
Y=0
W=136
H=13
[MeterTitle]
Meter=String
ClipString=2
FontFace=Tahoma
FontSize=7
AntiAlias=1
FontWeight=700
FontColor=255,255,255,255
StringEffect=Shadow
FontEffectColor=0,0,0,255
X=2
Y=0
Text=WEA
[MeterText]
Meter=String
Container=MeterTextContainer
FontFace=Tahoma
FontSize=7
FontWeight=400
FontColor=160,255,160,255
FontEffectColor=0,0,0,255
StringEffect=Shadow
Antialias=1
ClipString=0
InlineSetting=Color | 128,255,255,255
InlinePattern="^([^●]*) ●"
InlineSetting2=Color | 255,255,255,255
InlinePattern2="( ● )"
InlineSetting3=Color | 255,224,128,255
InlinePattern3="● ([^●]*)$"
X=#marquee#
Y=0
Text=#text#
DynamicVariables=1
EDIT: After further investigation, it appeared that the issue had nothing to do with turning off the display, but it would happen even when the display kept being on. After checking the log, I noticed an 'ActionList1' is currently running (Marquee\Marquee.ini - [MeasureActionTimer]) message, so I added [!CommandMeasure MeasureActionTimer "Stop 1"] as the first bang in DoOver1 and it appeared to solve the problem. However, doesn't this have the potential of halting a not yet finished ActionList1? Something like starting the next animation iteration before the current one finished sliding the text completely?