Code: Select all
[Variables]
Value=0.599
[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
BackgroundMode=2
SolidColor=47,47,47,255
---Measures---
[String]
Measure=String
String=#Value#
DynamicVariables=1
[Number]
Measure=Calc
Formula=#Value#
DynamicVariables=1
---Meters---
[Result]
Meter=String
FontFace=Consolas
FontColor=255,255,255,255
Padding=5,5,5,5
FontSize=16
AntiAlias=1
MeasureName=Number
MeasureName2=String
AutoScale=2
NumOfDecimals=0
Text="Result for Number = %1#CRLF#Result for String = %2"
MouseScrollUpAction=[!SetVariable Value (#Value#+1)][!UpdateMeasure *][!UpdateMeter *][!Redraw]
MouseScrollDownAction=[!SetVariable Value (#Value#-1)][!UpdateMeasure *][!UpdateMeter *][!Redraw]
LeftMouseUpAction=[!SetVariable Value (#Value#+Sgn(#Value#)*1000)]
MiddleMouseUpAction=[!SetVariable Value (#Value#-Sgn(#Value#)*1000)]
DynamicVariables=1
- string values are not scaled, but maybe this is intentional
- scrolling between -10 to 10 values, you'll see how 1 is skipped, and of course there is also a -0 there as well
- if you left click on it while on a negative value, you'll see that negative values are not scaled, unlike when left clicking on a positive value
P.S. Middle click reverts to the lower (positive or negative) values, for conveniency.
P.S.S. Curiously, for Value >= 0.6 and Value < 1, the 1 is not skipped, so it seems the rounding to 1 is done at 0.6 instead of 0.5? Why? By the way, this happens when displaying [Number:/1000,0] where the result becomes 1 once it hits 600 and not 500 (or even 501)...
EDIT: Found out what might be an explanation for rounding from 0.6 instead of 0.5 here, but apart form being a behavior inherited from C++ / C# and unfeasible to modify, it doesn't seem to sit well with the common understanding of it...
