Вам нужно DynamicVariables=1
под мерой, [MeasurePercElaps]
, чтобы оно продолжало обновляться.
Следующий скрипт более или менее то, что вы пытаетесь достичь, но я просто использую формулу для расчета%секунд осталось 1 минута для немедленного эффекта.
;MEASURES===================
[MeasureHour]
measure=Time
format=%H
[MeasureMin]
measure=Time
format=%M
[MeasureSec]
measure=Time
format=%S
[MeasurePercElaps]
measure=Calc
;formula=(((540 - (#OffWorkTime1# - ((#HR# * 60) + #MN#))) / 540) * 100)
formula=((60.0-[MeasureSec])/60.0)*100.0
MinValue=0
MaxValue=100
DynamicVariables=1
[MeterBarPercent]
meter=Bar
MeasureName=MeasurePercElaps
AntiAlias=1
FontFace=#FontFace#
FontSize=12
SolidColor=47,47,47,255
StringAlign=Left
X=0
Y=0
W=190
H=20
ValueRemainder=100
BarColor=84,165,196,255
BarOrientation=Horizontal
DynamicVariables=1
[MeterPercentDisplay]
meter=String
MeasureName=MeasurePercElaps
AntiAlias=1
FontFace=#FontFace#
FontSize=12
FontColor=255,255,255,255
StringAlign=Left
X=0
Y=0
W=190
AntiAlias=1
NumOfDecimals=1
Postfix=% COMPLETE
DynamicVariables=1
Индикатор бара должен быть примерно таким:
Поскольку[MeasurePercElaps]
теперь может обновляться, LeftMouseDownAction
в [Rainmeter]
больше не нужен.Если вы все еще поместите его туда, он не позволит перемещать обложку в любое место на рабочем столе, и вы не сможете открыть всплывающее меню обложки.
Вы можете оставить OnUpdateAction
, если хотите, чтобы переменные OffWorkTime сохранялись при следующей загрузке / перезагрузке скина.Но я не вижу в этом смысла, поскольку вы сохраняете только переменные, которые всегда постоянны во время сеанса скина.Это то, что делает !WriteKeyValue
bang.
С другой стороны, MiddleMouseDownAction
довольно избыточно.