You are over-complicating things.
You can create a skin - of any size. Fill it with rectangles, and hide them according to a value or other comparison. The contents of each rectangel can be managed the same with meter groups. There are even measure pause and unpause options.
So to create several meters of the same size, you can use Styles. That is to say the dimensions and attributes can be determined by a single attibute meter:
Code: Select all
[MeterStyleRectangles]
Shape=rectangle ...
X=can be relative to the previous meter (r) or meter boundary (R)
Y=the same way if need be.
[MeterTextStyle]
Font=Calibri
FontSize=14
FontColor=25,25,200,255
etc.
Use the styles like so:
Code: Select all
[MeterRectangleOne]
Meter=Shape
MeterStyle=MeterStyleRectangles
X=34
Y=34
[MeterRectangleOneText]
Meter=String
MeterStyle=MeterTextStyle
X=50
Y=50
Show or hide them using something like this:
Code: Select all
[MeterToggleStuff]
Meter=Something relevant (string or image etc)
LeftMouseUpAction=[!SetOption MeterRectangleOneText Hidden "0"][!Update]
You can do all of this with lua, but doing it 'the rainmeter way' is much gentler on the bloodpressure.
So lots of meters going everywhere is actually quite the norm in rainmeter. Doing things with lua is less repetitive, but harder to make subtle changes between iterations.
Comparisons can be textual or numerical, or even the return value of a measure. Check out the manual here:
https://docs.rainmeter.net/manual/measures/general-options/