It is currently March 29th, 2024, 11:49 am

Move Item in Y-Axis when Variable=0 (Launcher)

Get help with creating, editing & fixing problems with skins
User avatar
Youkai1977
Posts: 164
Joined: October 31st, 2018, 4:11 pm
Location: Germany

Move Item in Y-Axis when Variable=0 (Launcher)

Post by Youkai1977 »

Hello everybody,
I urgently need your crush knowledge, because I am desperate right now. I have been facing the following problem for 3 days. And meanwhile my head is so muddy that I can't even do 1 + 1 calculations anymore.
In short, I can no longer see the forest for the trees. Recently I was confused (but probably containing the solution) the following link -> https://docs.rainmeter.net/manual/formulas/

It's about the following ...
I have a 20-slot side-slider launcher that I want to write so that if, for example, slots 5 - 10 are not used, or slot 3 + 8 or 2 + 5 etc. etc., the other slots that are "in use" are in the Y-axis slide downwards (upwards accordingly).
But no matter what I do, it's just rubbish.

Here are my codes (what I've fabricated so far)...

1. (launcher_slide.ini)

Code: Select all

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1

[Metadata]
Name=Direct Launcher (Quick Links)
Author=Youkai1977 
Version=2021 <> 26.01.
Information=This Meter is a Part of M.A.R.S.- 2021 Skin Package
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0

;--------------------------------------------------
;--- VARIABLES & STYLES ---------------------------
;--------------------------------------------------

[Variables]
@include=launcherlinks_side.inc
@Include2=slotcheck.inc
Images=#@#images\
Offset=-220
SlideAmount=20
SIY=22
Height=19
Width=190
SetVarWidth=200
FontFace=UBUNTU LIGHT
BigFont=600
SmallFont=300
FS4=14
FS5=12
Alpha1=170
Alpha3=230
Alpha5=30
Alpha6=65
Color1=0,78,195,
Color2=17,207,255,
Color3=164,164,164,
Color4=200,200,200,
Color5=68,118,255,
GColor_1=GradientColor | 90 | #Color1##Alpha3# ; 1.0 | #Color2##Alpha3# ; 0.5
SColor_1=Shadow | 0 | 0 | 2.5 | #Color5##Alpha1#
GColor_2=GradientColor | 270 | #Color3##Alpha3# ; 0.5 | #Color4##Alpha3# ; 1.0
SColor_2=Shadow | 0 | 0 | 2.5 | #Color3##Alpha1#

[Style1]
FontFace=#FontFace#
AntiAlias=1

[Style2]
FontWeight=#BigFont#

[Style3]
StringAlign=LEFT

[Style6]
InlineSetting=#GColor_1#
InlineSetting2=#SColor_1#
MouseOverAction=[!SetVariable "ShapeYCor" "[#CURRENTSECTION#:Y]"][!UpdateMeter SiLiwSlPo][!SetOption #CURRENTSECTION#  InlineSetting "#GColor_2#"][!SetOption #CURRENTSECTION#  InlineSetting2 "#SColor_2#"][!SetOption #CURRENTSECTION# FontWeight "#BigFont#"][!SetVariable "Width" "#SetVarWidth#"][!UpdateMeter #CURRENTSECTION#][!Redraw]
MouseLeaveAction=[!Delay 200][!SetOption #CURRENTSECTION#  InlineSetting "#GColor_1#"][!SetOption #CURRENTSECTION#  InlineSetting2 "#SColor_1#"][!SetOption #CURRENTSECTION# FontWeight "#SmallFont#"][!SetVariable "Width" "#Width#"][!UpdateMeter #CURRENTSECTION#][!Redraw]

[Style7]
InlineSetting=#GColor_2#
InlineSetting2=#SColor_2#

;--------------------------------------------------
;--- MEASURES -------------------------------------
;--------------------------------------------------

[mSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Right,1,20
ActionList2=Repeat Left,1,20
Right=[!HideMeter Opener][!SetVariable Offset "(Clamp(#Offset#+#SlideAmount#,-220,0))"][!UpdateMeasure mSlider][!UpdateMeterGroup Sliders][!Redraw]
Left=[!SetVariable Offset "(Clamp(#Offset#-#SlideAmount#,-220,0))"][!UpdateMeasure mSlider][!UpdateMeterGroup Sliders][!Redraw]
IfCondition=#Offset# = -220
IfTrueAction=[!ShowMeter Opener][!SetOption Opener LeftMouseUpAction """[!CommandMeasure mSlider "Stop 2"][!CommandMeasure mSlider "Execute 1"]"""]
IfCondition2=#Offset# = 0
IfTrueAction2=[!SetOption Background MouseLeaveAction """[!CommandMeasure mSlider "Stop 1"][!CommandMeasure mSlider "Execute 2"]"""]
DynamicVariables=1

;--------------------------------------------------
;--- BACKGROUND & OPENER BTN ----------------------
;--------------------------------------------------

[Opener]
Meter=BUTTON
SolidColor=0,0,0,1
ButtonImage=#Images#opener_btn.png
AntiAlias=1
X=0
Y=146
UpdateDivider=-1

[Background]
Meter=IMAGE
SolidColor=0,0,0,100
ImageName=#Images#bg_direct_links.png
AntiAlias=1
W=220
H=504
X=(0 + #Offset#)
Y=0
DynamicVariables=1
UpdateDivider=-1
Group=SLIDERS

;--------------------------------------------------
;--- DIRECT LAUNCER -------------------------------
;--------------------------------------------------

;--- SIDE LINE with SLIDER POINT ------------------

[SiLiwSlPo]
Meter=Shape
X=(0 + #Offset#)
Y=0
Shape=Rectangle 1,1,4,502 | StrokeWidth 2 | Stroke LinearGradient StrokeGradient | Fill RadialGradient FillGradient
Shape2=Arc 0,0,0,18,200,26,0,0,0,0 | StrokeWidth 2 | Stroke LinearGradient StrokeGradient | Fill RadialGradient FillGradient | Offset 1,#ShapeYCor#
Shape3=Combine Shape | Union Shape2
StrokeGradient=90 | #Color1##Alpha3# ; 0.0 | #Color5##Alpha3# ; 1.0
FillGradient=0,0,0,0,170,50 | #Color5##Alpha6# ; 0.0 | #Color1##Alpha5# ; 1.0
DynamicVariables=1
UpdateDivider=-1
Group=Sliders

;--- HEAD 1 ---------------------------------------

[HEAD_1]
Meter=STRING
MeterStyle=Style1 | Style2 | Style3 | Style7
FontSize=#FS4#
Text=#H01#
X=(10 + #Offset#)
DynamicVariables=1
UpdateDivider=-1
Group=SLIDERS

;--- ITEM 1 ---------------------------------------

[Item_1]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E01#
H=#Height#
W=#Width#
X=(22 + #Offset#)
ClipString=1
LeftMouseUpAction=["#P01#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 2 ---------------------------------------

[Item_2]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E02#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P02#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 3 ---------------------------------------

[Item_3]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E03#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P03#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 4 ---------------------------------------

[Item_4]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E04#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P04#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 5 ---------------------------------------

[Item_5]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E05#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P05#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 6 ---------------------------------------

[Item_6]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E06#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P06#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 7 ---------------------------------------

[Item_7]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E07#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P07#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 8 ---------------------------------------

[Item_8]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E08#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P08#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 9 ---------------------------------------

[Item_9]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E09#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P09#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 10 --------------------------------------

[Item_10]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E10#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P10#"]
DynamicVariables=1
Group=SLIDERS

;--------------------------------------------------
;--------------------------------------------------
;--------------------------------------------------

;--- HEAD 2 ---------------------------------------

[HEAD_2]
Meter=STRING
MeterStyle=Style1 | Style2 | Style3 | Style7
FontSize=#FS4#
Text=#H02#
X=(10 + #Offset#)
DynamicVariables=1
UpdateDivider=-1
Group=SLIDERS

;--- ITEM 11 --------------------------------------

[Item_11]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E11#
H=#Height#
W=#Width#
X=(22 + #Offset#)
ClipString=1
LeftMouseUpAction=["#P11#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 12 --------------------------------------

[Item_12]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E12#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P12#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 13 --------------------------------------

[Item_13]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E13#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P13#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 14 --------------------------------------

[Item_14]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E14#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P14#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 15 --------------------------------------

[Item_15]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E15#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P15#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 16 --------------------------------------

[Item_16]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E16#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P16#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 17 --------------------------------------

[Item_17]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E17#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P17#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 18 --------------------------------------

[Item_18]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E18#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P18#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 19 --------------------------------------

[Item_19]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E19#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P19#"]
DynamicVariables=1
Group=SLIDERS

;--- ITEM 20 --------------------------------------

[Item_20]
Meter=STRING
MeterStyle=Style1 | Style3 | Style6
FontSize=#FS5#
Text=#E20#
H=#Height#
W=#Width#
X=r
ClipString=1
LeftMouseUpAction=["#P20#"]
DynamicVariables=1
Group=SLIDERS
2. (slotcheck.inc) <- This Part is my Problem

Code: Select all

[mCheckHEAD_1]
Measure=String
String=#H01#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckHEAD_1]=1)
IfTrueAction=[!ShowMeter HEAD_1][!SetVariable "H1" "4"][!SetOption HEAD_1 Y "#H1#"][!UpdateMeter *][!Redraw]
IfFalseAction=[!HideMeter HEAD_1][!SetVariable "H1" "0"][!SetOption HEAD_1 Y "#H1#"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

;---------------------------------
;---------------------------------

[mCheckItemSlot01]
Measure=String
String=#E01#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot01]=1)
IfTrueAction=[!ShowMeter Item_1][!SetVariable "I1" "(#H1# + #SIY# - #H1#)"][!SetOption Item_1 Y "#I1#r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!HideMeter Item_1][!SetVariable "I1" "#H1#"][!SetOption Item_1 Y "#I1#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot02]
Measure=String
String=#E02#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot02]=1)
IfTrueAction=[!ShowMeter Item_2][!SetVariable "I2" "(#H1# + #SIY# - #H1#"][!SetOption Item_2 Y "#I2#r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!HideMeter Item_2][!SetVariable "I2" "#I1#"][!SetOption Item_2 Y "#I2#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot03]
Measure=String
String=#E03#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot03]=0)
IfTrueAction=[!HideMeter Item_3][!SetOption Item_3 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_3][!SetOption Item_3 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot04]
Measure=String
String=#E04#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot04]=0)
IfTrueAction=[!HideMeter Item_4][!SetOption Item_4 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_4][!SetOption Item_4 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot05]
Measure=String
String=#E05#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot05]=0)
IfTrueAction=[!HideMeter Item_5][!SetOption Item_5 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_5][!SetOption Item_5 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot06]
Measure=String
String=#E06#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot06]=0)
IfTrueAction=[!HideMeter Item_6][!SetOption Item_6 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_6][!SetOption Item_6 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot07]
Measure=String
String=#E07#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot07]=0)
IfTrueAction=[!HideMeter Item_7][!SetOption Item_7 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_7][!SetOption Item_7 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot08]
Measure=String
String=#E08#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot08]=0)
IfTrueAction=[!HideMeter Item_8][!SetOption Item_8 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_8][!SetOption Item_8 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot09]
Measure=String
String=#E09#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot09]=0)
IfTrueAction=[!HideMeter Item_9][!SetOption Item_9 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_9][!SetOption Item_9 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot10]
Measure=String
String=#E10#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot10]=0)
IfTrueAction=[!HideMeter Item_10][!SetOption Item_10 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_10][!SetOption Item_10 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

;---------------------------------
;---------------------------------

[mCheckHEAD_2]
Measure=String
String=#H02#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckHEAD_2]=0)
IfTrueAction=[!HideMeter HEAD_2][!SetOption HEAD_2 Y "(18 - #SIY#)r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter HEAD_2][!SetOption HEAD_2 Y "(8 + #SIY#)r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

;---------------------------------
;---------------------------------

[mCheckItemSlot11]
Measure=String
String=#E11#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot11]=0)
IfTrueAction=[!HideMeter Item_11][!SetOption Item_11 Y "(-18 + #SIY#)r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_11][!SetOption Item_11 Y "(4 + #SIY#)r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot12]
Measure=String
String=#E12#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot12]=0)
IfTrueAction=[!HideMeter Item_12][!SetOption Item_12 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_12][!SetOption Item_12 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot13]
Measure=String
String=#E13#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot13]=0)
IfTrueAction=[!HideMeter Item_13][!SetOption Item_13 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_13][!SetOption Item_13 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot14]
Measure=String
String=#E14#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot14]=0)
IfTrueAction=[!HideMeter Item_14][!SetOption Item_14 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_14][!SetOption Item_14 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot15]
Measure=String
String=#E15#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot15]=0)
IfTrueAction=[!HideMeter Item_15][!SetOption Item_15 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_15][!SetOption Item_15 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot16]
Measure=String
String=#E16#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot16]=0)
IfTrueAction=[!HideMeter Item_16][!SetOption Item_16 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_16][!SetOption Item_16 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot17]
Measure=String
String=#E17#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot17]=0)
IfTrueAction=[!HideMeter Item_17][!SetOption Item_17 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_17][!SetOption Item_17 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot18]
Measure=String
String=#E18#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot18]=0)
IfTrueAction=[!HideMeter Item_18][!SetOption Item_18 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_18][!SetOption Item_18 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot19]
Measure=String
String=#E19#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot19]=0)
IfTrueAction=[!HideMeter Item_19][!SetOption Item_19 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_19][!SetOption Item_19 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1

[mCheckItemSlot20]
Measure=String
String=#E20#
RegExpSubstitute=1
Substitute="^(.)(.*)$":"1","^$":"0"
IfCondition=([mCheckItemSlot20]=0)
IfTrueAction=[!HideMeter Item_20][!SetOption Item_20 Y "r"][!UpdateMeter *][!Redraw]
IfFalseAction=[!ShowMeter Item_20][!SetOption Item_20 Y "#SIY#r"][!UpdateMeter *][!Redraw]
DynamicVariables=1
UpdateDivider=-1
My intended goal (if it works):

- Variable # H01 # should be set to Y = 4 if assigned

- Variable # E01 # should be set to Y = 26r if # H01 # is assigned. If # H01 # is NOT used, # E01 # should instead move to the position of # H01 # in the Y-axis

- All other # E02 # to # E10 # should, if empty, always move to the position of the one above it, if this is empty. BUT from # E02 # ONLY always Y = 22r and not Y = 26r like # E01 #
From variable # H02 #, which Y = 30r should be, the game should be repeated for # E11 # to # E20 #
Variable # E11 # on Y = 26r under # H02 # if occupied. If # H02 # is NOT used, # E11 # should instead move to the position of # H02 # in the Y-axis
All other # E12 # to # E20 # should, if empty, always move to the position of the one above it, if this is empty. BUT just like from # E02 #, from # E12 # ONLY Y = 22r should always be used

I could make friends with a solution where # E01 # and #E11# moves or sits on Y = 22r. But only as an emergency solution, as it is not so optically bulky for me.

Probably the solution is easy if you understand all of this Rainmeter syntax. Anyway, I've just reached a point where I don't understand anything. I feel as if I have to calculate the square root of Einstein's formula of relativity, combined with the euro inflation rate -.-
In short, I thought I had a great idea for my launcher


3. (launcherlinks_slide.inc)

Code: Select all

[Variables]
;-----------------------------------------------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------------------------------------------
;---                                                                                                               -----------------------------
;--- ENTER HERE THE NAMES OF PROGRAMS, GAMES, DOCUMENTS etc. ""EXAMPLE: E01=Notepad / P01=C:\Windows\Notepad.exe"" -----------------------------
;---                                                                                                               -----------------------------
;-----------------------------------------------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------
H01=HEADNAME 1
H02=HEADNAME 2
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
E01=ITEM 01
P01=
;------------------------------------------------------------------------------
E02=ITEM 02
P02=
;------------------------------------------------------------------------------
E03=ITEM 03
P03=
;------------------------------------------------------------------------------
E04=ITEM 04
P04=
;------------------------------------------------------------------------------
E05=ITEM 05
P05=
;------------------------------------------------------------------------------
E06=ITEM 06
P06=
;------------------------------------------------------------------------------
E07=ITEM 07
P07=
;------------------------------------------------------------------------------
E08=ITEM 08
P08=
;------------------------------------------------------------------------------
E09=ITEM 09
P09=
;------------------------------------------------------------------------------
E10=ITEM 10
P10=
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
E11=ITEM 11
P11=
;------------------------------------------------------------------------------
E12=ITEM 12
P12=
;------------------------------------------------------------------------------
E13=ITEM 13
P13=
;------------------------------------------------------------------------------
E14=ITEM 14
P14=
;------------------------------------------------------------------------------
E15=ITEM 15
P15=
;------------------------------------------------------------------------------
E16=ITEM 16
P16=
;------------------------------------------------------------------------------
E17=ITEM 17
P17=
;------------------------------------------------------------------------------
E18=ITEM 18
P18=
;------------------------------------------------------------------------------
E19=ITEM 19
P19=
;------------------------------------------------------------------------------
E20=ITEM 20
P20=
;------------------------------------------------------------------------------
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet

The absolutly High-End Machine on 2024 ... at least the graphics card :oops: O.O :rofl:
User avatar
Yincognito
Rainmeter Sage
Posts: 7029
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by Yincognito »

Youkai1977 wrote: February 1st, 2021, 5:56 pmIt's about the following ...
I have a 20-slot side-slider launcher that I want to write so that if, for example, slots 5 - 10 are not used, or slot 3 + 8 or 2 + 5 etc. etc., the other slots that are "in use" are in the Y-axis slide downwards (upwards accordingly).
But no matter what I do, it's just rubbish.
I will let folks answer this in depth, because I can't quite follow all the variable stuff (and there's my resolution problem as you already know). But, just for clarity:
- you should include ALL the dependencies in your skin; yes, you did post the code, but not the images (even using the images from your older version here doesn't help, as some of the images you use in your code don't exist in the @Resources folder of that version)
- your code should largely be error free, at least on a basic level; for example, I get several "Unmatched brackets" errors in the Log, and I believe your first @include from launcher_slide.ini should be spelled @include=launcherlinks_slide.inc instead of @include=launcherlinks_side.inc like you have it now; these are errors that can be fixed before you post the question, so the folks helping won't have to, and instead focusing on answering the request

That being said, I can show you a basic example on how I would do this, maybe it helps you somehow Your approach with 0-s and 1-s was excellent, and also the show/hide stuff. However, things can be simplified, like below, where I simulated some of the operations you make:
Code:

Code: Select all

[Variables]
H01=HEADNAME 1
H02=HEADNAME 2
E01=ITEM 01
P01=
E02=ITEM 02
P02=
E03=ITEM 03
P03=
E04=ITEM 04
P04=
E05=ITEM 05
P05=

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
BackgroundMode=2
SolidColor=47,47,47,128

---Measures---

[H01]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E01]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E02]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E03]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E04]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E05]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

---Styles---

[ItemStyle]
FontFace=Consolas
FontColor=255,255,255,255
SolidColor=247,47,47,255
Padding=5,5,5,5
FontSize=10
AntiAlias=1

---Meters Header Togglers---

[ToggleHeader1]
Group=ToggleGroup
Meter=Image
X=0r
Y=10
W=10
H=10
SolidColor=([H01]*255),([H01]*255),0,255
LeftMouseUpAction=[!SetVariable H01 "HEADNAME 1"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable H01 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

---Meters Item Togglers---

[ToggleItem1]
Group=ToggleGroup
Meter=Image
X=20r
Y=10
W=10
H=10
SolidColor=([E01]*255),0,0,255
LeftMouseUpAction=[!SetVariable E01 "ITEM 01"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E01 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem2]
Group=ToggleGroup
Meter=Image
X=20r
Y=10
W=10
H=10
SolidColor=([E02]*255),0,0,255
LeftMouseUpAction=[!SetVariable E02 "ITEM 02"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E02 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem3]
Group=ToggleGroup
Meter=Image
X=20r
Y=10
W=10
H=10
SolidColor=([E03]*255),0,0,255
LeftMouseUpAction=[!SetVariable E03 "ITEM 03"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E03 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem4]
Group=ToggleGroup
Meter=Image
X=20r
Y=10
W=10
H=10
SolidColor=([E04]*255),0,0,255
LeftMouseUpAction=[!SetVariable E04 "ITEM 04"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E04 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem5]
Group=ToggleGroup
Meter=Image
X=20r
Y=10
W=10
H=10
SolidColor=([E05]*255),0,0,255
LeftMouseUpAction=[!SetVariable E05 "ITEM 05"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E05 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

---Meters Headers---

[Header01]
Group=HeaderGroup
Hidden=([H01]=0)
Meter=String
MeterStyle=ItemStyle
FontColor=0,0,0,255
SolidColor=247,247,47,255
X=13
Y=(5+30*[H01])
Text="#H01#"
DynamicVariables=1

---Meters Items---

[Item01]
Group=ItemGroup
Hidden=([E01]=0)
Meter=String
MeterStyle=ItemStyle
X=35
Y=([E01]*30)r
Text="#E01#"
DynamicVariables=1

[Item02]
Group=ItemGroup
Hidden=([E02]=0)
Meter=String
MeterStyle=ItemStyle
X=35
Y=([E02]*30)r
Text="#E02#"
DynamicVariables=1

[Item03]
Group=ItemGroup
Hidden=([E03]=0)
Meter=String
MeterStyle=ItemStyle
X=35
Y=([E03]*30)r
Text="#E03#"
DynamicVariables=1

[Item04]
Group=ItemGroup
Hidden=([E04]=0)
Meter=String
MeterStyle=ItemStyle
X=35
Y=([E04]*30)r
Text="#E04#"
DynamicVariables=1

[Item05]
Group=ItemGroup
Hidden=([E05]=0)
Meter=String
MeterStyle=ItemStyle
X=35
Y=([E05]*30)r
Text="#E05#"
DynamicVariables=1

Preview:
Preview.jpg
Notes:
- I used the same names for the CheckGroup measures as for the variables, for simplicity and to be able to use #CURRENTSECTION# in nested variables and paste things easier in my code (e.g. [#[#CURRENTSECTION]] for the E01 measure produces the E01 variable, etc.)
- I simplified the substitute, using the + quantifier in regex, which means "one or more of the preceding pattern"
- the ToggleGroup meters (i.e. the little squares at the top of the skin) are there to be able to see what happens when some header or item string becomes empty and its associated meter is hidden; use left click to show, right click to hide - the color of the togglers (yellow for headers, red for items) change accordingly on click too
- in the actual header and item meters, I used formulas instead of IfConditions to achieve the goal; it's shorter and easier that way, IMHO, considering that you can use 0 and 1 to set both the hidden status and the position of the meters; basically, it's all about these two lines (the first item case presented below):

Code: Select all

Hidden=([E01]=0)
Y=([E01]*30)r
I used a conditional to set the hidden status, where the result of the logical test (which can be 0 or 1, as you probably know) of [E01]=0 will determine that status. In other words, if the string is empty, the logical result of [E01]=0 is TRUE, which translates numerically to 1, resulting in Hidden=1 and the meter becoming invisible; if the string is not empty, the result is FALSE aka 0, meaning the meter becomes visible.
Similarly, I used the 0 or 1 value of [E01] (E01..E05 are the slot checkers in your code, as you probably realized) to get either a position of 0r if the string is empty or a 30r if not; obviously, the "30"-s can be adjusted to some other numbers.
A special case is the header, where I used:

Code: Select all

Y=(5+30*[H01])
where 30 MUST be the positional number used in the first item, in order to move the header meter upwards when it's invisible in order for the first item to have the same positon as the previously visible header. In other words, if your visible header position is 4 and your first item relative position is 26r, you'd have Y=(-22+26*[H01]) in the header, so that when it is visible the result would be Y=-22+26*1=4 and when invisible it would be Y=-22+26*0=-22 (a 26r in relation to -22 is again 4, aka the header's position when visible). I don't know how this will play out when headers are relatively positioned as well, but I don't think it would be a problem since you can use the same principle as for items anyway, if you first create a "dummy" meter placed in a hardcoded positon at the top, to act like an "anchor" for the rest of the meters that use relative positoning (both headers and items in this scenario).

Anyway, hopefully you'll manage to make some use of my basic example and adapt it for your case. You already have some of the things already set in a similar way, so it shouldn't be that hard. Let me know if you didn't understand something.
You do not have the required permissions to view the files attached to this post.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
Youkai1977
Posts: 164
Joined: October 31st, 2018, 4:11 pm
Location: Germany

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by Youkai1977 »

First of all, sorry for the later answer / reaction from me, but yesterday I was so damaged by Rainmeter, I turned the box off and tried to clear my head.
Then also sorry that I didn't do it right with posting my code. I thought, post everything as it is, that will help people identify my mistake. That in the end I was giving the helpers a big riddle about what I had donated, I didn't have it on my screen. :oops: As I said, sorry for that again.
Conversely, a very big thank you for your effort to decipher my posted chaos and to try to come up with a solution for me. :bow: :thumbup:

What I could see when scanning your text, such as code examples, seems to help me.
But I can only say more details when I try to implement or adapt it in my skin.
But since I will probably not get to deal with Rainmeter more intensively in the next few days, I cannot yet say when I can give you feedback whether your renewed effort to bail me out is worth it.
But you will definitely hear from me, that is the least.
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet

The absolutly High-End Machine on 2024 ... at least the graphics card :oops: O.O :rofl:
User avatar
Yincognito
Rainmeter Sage
Posts: 7029
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by Yincognito »

Youkai1977 wrote: February 2nd, 2021, 7:06 pm First of all, sorry for the later answer / reaction from me, but yesterday I was so damaged by Rainmeter, I turned the box off and tried to clear my head.
Then also sorry that I didn't do it right with posting my code. I thought, post everything as it is, that will help people identify my mistake. That in the end I was giving the helpers a big riddle about what I had donated, I didn't have it on my screen. :oops: As I said, sorry for that again.
Conversely, a very big thank you for your effort to decipher my posted chaos and to try to come up with a solution for me. :bow: :thumbup:

What I could see when scanning your text, such as code examples, seems to help me.
But I can only say more details when I try to implement or adapt it in my skin.
But since I will probably not get to deal with Rainmeter more intensively in the next few days, I cannot yet say when I can give you feedback whether your renewed effort to bail me out is worth it.
But you will definitely hear from me, that is the least.
No worries, it's ok. Take your time, and when you're ready to have a look at it, feel free to do so. ;-)
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by balala »

Youkai1977 wrote: February 1st, 2021, 5:56 pm - Variable # H01 # should be set to Y = 4 if assigned

- Variable # E01 # should be set to Y = 26r if # H01 # is assigned. If # H01 # is NOT used, # E01 # should instead move to the position of # H01 # in the Y-axis

- All other # E02 # to # E10 # should, if empty, always move to the position of the one above it, if this is empty. BUT from # E02 # ONLY always Y = 22r and not Y = 26r like # E01 #
From variable # H02 #, which Y = 30r should be, the game should be repeated for # E11 # to # E20 #
Variable # E11 # on Y = 26r under # H02 # if occupied. If # H02 # is NOT used, # E11 # should instead move to the position of # H02 # in the Y-axis
All other # E12 # to # E20 # should, if empty, always move to the position of the one above it, if this is empty. BUT just like from # E02 #, from # E12 # ONLY Y = 22r should always be used

I could make friends with a solution where # E01 # and #E11# moves or sits on Y = 22r. But only as an emergency solution, as it is not so optically bulky for me.

Probably the solution is easy if you understand all of this Rainmeter syntax. Anyway, I've just reached a point where I don't understand anything. I feel as if I have to calculate the square root of Einstein's formula of relativity, combined with the euro inflation rate -.-
In short, I thought I had a great idea for my launcher
As Yincognito said, you definitely should pack your config and upload the package here:
Yincognito wrote: February 1st, 2021, 10:01 pm I will let folks answer this in depth, because I can't quite follow all the variable stuff (and there's my resolution problem as you already know). But, just for clarity:
- you should include ALL the dependencies in your skin; yes, you did post the code, but not the images (even using the images from your older version here doesn't help, as some of the images you use in your code don't exist in the @Resources folder of that version)
This way we'll have all needed files, not just the images, but the included files as well, which are storing a lot of different and probably important variables. So please do so.
In meantime the initial description makes me think you have to position the meters relatively to each other, using the R parameter (Y=0R most likely), along with hiding the meters which should show something which is not used / assigned.
User avatar
Yincognito
Rainmeter Sage
Posts: 7029
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by Yincognito »

balala wrote: February 2nd, 2021, 8:39 pm As Yincognito said, you definitely should pack your config and upload the package here:

This way we'll have all needed files, not just the images, but the included files as well, which are storing a lot of different and probably important variables. So please do so.
In meantime the initial description makes me think you have to position the meters relatively to each other, using the R parameter (Y=0R most likely), along with hiding the meters which should show something which is not used / assigned.
Actually, only the images used in the code are needed, because, apart from the typo I mentioned above, the OP already posted the code of the 2 included files. I recreated the structure of the skin based on his paths, but because images were missing, I couldn't see anything on the screen when activating the skin. That's why I posted a basic example on how to achieve what he wanted - and yeah, I think I figured out what he meant, eventually.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
Yincognito
Rainmeter Sage
Posts: 7029
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by Yincognito »

Youkai1977 wrote: February 1st, 2021, 5:56 pm My intended goal (if it works):

- Variable # H01 # should be set to Y = 4 if assigned

- Variable # E01 # should be set to Y = 26r if # H01 # is assigned. If # H01 # is NOT used, # E01 # should instead move to the position of # H01 # in the Y-axis

- All other # E02 # to # E10 # should, if empty, always move to the position of the one above it, if this is empty. BUT from # E02 # ONLY always Y = 22r and not Y = 26r like # E01 #
From variable # H02 #, which Y = 30r should be, the game should be repeated for # E11 # to # E20 #
Variable # E11 # on Y = 26r under # H02 # if occupied. If # H02 # is NOT used, # E11 # should instead move to the position of # H02 # in the Y-axis
All other # E12 # to # E20 # should, if empty, always move to the position of the one above it, if this is empty. BUT just like from # E02 #, from # E12 # ONLY Y = 22r should always be used

I could make friends with a solution where # E01 # and #E11# moves or sits on Y = 22r. But only as an emergency solution, as it is not so optically bulky for me.
Here is an improved version of my basic example - this one has the positions exactly as you mentioned:

Code: Select all

[Variables]
Offset=20

H01=HEADNAME 1
H02=HEADNAME 2
E01=ITEM 01
P01=
E02=ITEM 02
P02=
E03=ITEM 03
P03=
E04=ITEM 04
P04=
E05=ITEM 05
P05=
E06=ITEM 06
P06=
E07=ITEM 07
P07=
E08=ITEM 08
P08=
E09=ITEM 09
P09=
E10=ITEM 10
P10=
E11=ITEM 11
P11=
E12=ITEM 12
P12=
E13=ITEM 13
P13=
E14=ITEM 14
P14=
E15=ITEM 15
P15=
E16=ITEM 16
P16=
E17=ITEM 17
P17=
E18=ITEM 18
P18=
E19=ITEM 19
P19=
E20=ITEM 20
P20=

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
BackgroundMode=2
SolidColor=47,47,47,128

---Measures---

[H01]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E01]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E02]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E03]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E04]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E05]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E06]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E07]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E08]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E09]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E10]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[H02]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E11]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E12]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E13]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E14]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E15]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E16]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E17]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E18]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E19]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

[E20]
Group=CheckGroup
Measure=String
String=[#[#CURRENTSECTION]]
UpdateDivider=-1
RegExpSubstitute=1
Substitute="^.+$":"1","^$":"0"
DynamicVariables=1

---Styles---

[ItemStyle]
FontFace=Consolas
FontColor=255,255,255,255
SolidColor=247,47,47,255
Padding=2,2,2,2
FontSize=10
AntiAlias=1

---Meters Togglers---

[ToggleHeader1]
Group=ToggleGroup
Meter=Image
X=10
Y=10r
W=10
H=10
SolidColor=([H01]*255),([H01]*255),0,255
LeftMouseUpAction=[!SetVariable H01 "HEADNAME 1"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable H01 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem1]
Group=ToggleGroup
Meter=Image
X=10
Y=26r
W=10
H=10
SolidColor=([E01]*255),0,0,255
LeftMouseUpAction=[!SetVariable E01 "ITEM 01"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E01 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem2]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E02]*255),0,0,255
LeftMouseUpAction=[!SetVariable E02 "ITEM 02"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E02 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem3]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E03]*255),0,0,255
LeftMouseUpAction=[!SetVariable E03 "ITEM 03"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E03 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem4]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E04]*255),0,0,255
LeftMouseUpAction=[!SetVariable E04 "ITEM 04"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E04 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem5]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E05]*255),0,0,255
LeftMouseUpAction=[!SetVariable E05 "ITEM 05"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E05 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem6]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E06]*255),0,0,255
LeftMouseUpAction=[!SetVariable E06 "ITEM 06"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E06 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem7]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E07]*255),0,0,255
LeftMouseUpAction=[!SetVariable E07 "ITEM 07"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E07 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem8]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E08]*255),0,0,255
LeftMouseUpAction=[!SetVariable E08 "ITEM 08"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E08 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem9]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E09]*255),0,0,255
LeftMouseUpAction=[!SetVariable E09 "ITEM 09"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E09 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem10]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E10]*255),0,0,255
LeftMouseUpAction=[!SetVariable E10 "ITEM 10"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E10 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleHeader2]
Group=ToggleGroup
Meter=Image
X=10
Y=30r
W=10
H=10
SolidColor=([H02]*255),([H02]*255),0,255
LeftMouseUpAction=[!SetVariable H02 "HEADNAME 2"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable H02 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem11]
Group=ToggleGroup
Meter=Image
X=10
Y=26r
W=10
H=10
SolidColor=([E11]*255),0,0,255
LeftMouseUpAction=[!SetVariable E11 "ITEM 11"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E11 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem12]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E12]*255),0,0,255
LeftMouseUpAction=[!SetVariable E12 "ITEM 12"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E12 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem13]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E13]*255),0,0,255
LeftMouseUpAction=[!SetVariable E13 "ITEM 13"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E13 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem14]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E14]*255),0,0,255
LeftMouseUpAction=[!SetVariable E14 "ITEM 14"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E14 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem15]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E15]*255),0,0,255
LeftMouseUpAction=[!SetVariable E15 "ITEM 15"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E15 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem16]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E16]*255),0,0,255
LeftMouseUpAction=[!SetVariable E16 "ITEM 16"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E16 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem17]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E17]*255),0,0,255
LeftMouseUpAction=[!SetVariable E17 "ITEM 17"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E17 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem18]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E18]*255),0,0,255
LeftMouseUpAction=[!SetVariable E18 "ITEM 18"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E18 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem19]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E19]*255),0,0,255
LeftMouseUpAction=[!SetVariable E19 "ITEM 19"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E19 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

[ToggleItem20]
Group=ToggleGroup
Meter=Image
X=10
Y=22r
W=10
H=10
SolidColor=([E20]*255),0,0,255
LeftMouseUpAction=[!SetVariable E20 "ITEM 20"][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
RightMouseUpAction=[!SetVariable E20 ""][!UpdateMeasureGroup CheckGroup][!UpdateMeterGroup ToggleGroup][!UpdateMeterGroup HeaderGroup][!UpdateMeterGroup ItemGroup][!Redraw]
DynamicVariables=1

---Meters Headers And Items---

[Header01]
Group=HeaderGroup
Hidden=([H01]=0)
Meter=String
MeterStyle=ItemStyle
FontColor=0,0,0,255
SolidColor=247,247,47,255
X=(10+#Offset#)
Y=(([E01]>0)?(-22+26*[H01]):(-18+22*[H01]))
Text="#H01#"
DynamicVariables=1

[Item01]
Group=ItemGroup
Hidden=([E01]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E01]*26)r
Text="#E01#"
DynamicVariables=1

[Item02]
Group=ItemGroup
Hidden=([E02]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E02]*22)r
Text="#E02#"
DynamicVariables=1

[Item03]
Group=ItemGroup
Hidden=([E03]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E03]*22)r
Text="#E03#"
DynamicVariables=1

[Item04]
Group=ItemGroup
Hidden=([E04]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E04]*22)r
Text="#E04#"
DynamicVariables=1

[Item05]
Group=ItemGroup
Hidden=([E05]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E05]*22)r
Text="#E05#"
DynamicVariables=1

[Item06]
Group=ItemGroup
Hidden=([E06]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E06]*22)r
Text="#E06#"
DynamicVariables=1

[Item07]
Group=ItemGroup
Hidden=([E07]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E07]*22)r
Text="#E07#"
DynamicVariables=1

[Item08]
Group=ItemGroup
Hidden=([E08]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E08]*22)r
Text="#E08#"
DynamicVariables=1

[Item09]
Group=ItemGroup
Hidden=([E09]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E09]*22)r
Text="#E09#"
DynamicVariables=1

[Item10]
Group=ItemGroup
Hidden=([E10]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E10]*22)r
Text="#E10#"
DynamicVariables=1

[Header02]
Group=HeaderGroup
Hidden=([H02]=0)
Meter=String
MeterStyle=ItemStyle
FontColor=0,0,0,255
SolidColor=247,247,47,255
X=(10+#Offset#)
Y=(([E11]>0)?(4+26*[H02]):(8+22*[H02]))r
Text="#H02#"
DynamicVariables=1

[Item11]
Group=ItemGroup
Hidden=([E11]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E11]*26)r
Text="#E11#"
DynamicVariables=1

[Item12]
Group=ItemGroup
Hidden=([E12]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E12]*22)r
Text="#E12#"
DynamicVariables=1

[Item13]
Group=ItemGroup
Hidden=([E13]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E13]*22)r
Text="#E13#"
DynamicVariables=1

[Item14]
Group=ItemGroup
Hidden=([E14]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E14]*22)r
Text="#E14#"
DynamicVariables=1

[Item15]
Group=ItemGroup
Hidden=([E15]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E15]*22)r
Text="#E15#"
DynamicVariables=1

[Item16]
Group=ItemGroup
Hidden=([E16]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E16]*22)r
Text="#E16#"
DynamicVariables=1

[Item17]
Group=ItemGroup
Hidden=([E17]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E17]*22)r
Text="#E17#"
DynamicVariables=1

[Item18]
Group=ItemGroup
Hidden=([E18]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E18]*22)r
Text="#E18#"
DynamicVariables=1

[Item19]
Group=ItemGroup
Hidden=([E19]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E19]*22)r
Text="#E19#"
DynamicVariables=1

[Item20]
Group=ItemGroup
Hidden=([E20]=0)
Meter=String
MeterStyle=ItemStyle
X=(22+#Offset#)
Y=([E20]*22)r
Text="#E20#"
DynamicVariables=1

Preview V2.jpg
Your statements present the following problem though: if E01 or E11 are empty, the slighter larger distance between the headers and the items of 26r is gone and becomes 22r. This would require some formulas to check if every E is empty before the current E ... or, start using absolute coordinate formulas instead of relative coordinate ones.
You do not have the required permissions to view the files attached to this post.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by balala »

Yincognito wrote: February 2nd, 2021, 9:44 pm Actually, only the images used in the code are needed, because, apart from the typo I mentioned above, the OP already posted the code of the 2 included files.
Alright, but OP should help us to can help him. It would much more easier (for me ta least definitely) to have the whole config, with its original structure, not to have to recreate it manually: url=https://forum.rainmeter.net/viewtopic.php?f=5&t=28421#p148358.
User avatar
Youkai1977
Posts: 164
Joined: October 31st, 2018, 4:11 pm
Location: Germany

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by Youkai1977 »

Sooooo, I looked at the codes and started to implement them.
Adjustments were minimally necessary or things were included that were ultimately not used by me as an example (were they intended, right ?!). At least if I understood your code idea correctly.
And best of all, it worked straight away. :thumbup:
But whether I understood directly what your measures etc. are doing exactly ... * uh * ... I need a little more rest and time to look at it in detail and to question or research.

But ok, I don't even want to write a long text again (talk a lot, say little * lol *)

In a nutshell, first of all, thank you very much for your great support here. :thumbup: :thumbup: :thumbup: :bow: :bow:
Especially with the mess (all individually without graphics and explanations of my code) what I posted in the beginning. :oops:

Well, let's get to the real why, I wanted to make these adjustments with the empty slots.
I want the slider launcher to be scalable.
And the graphics (* .png) still used in the slider should be dropped and the shapes should later adapt to the length of the item slots used.

Here are 2 pictures like my skin currently (construction site / WIP) looks in operation:

And finally, once the whole (only Finnish Silder) clean as an * .rmskin file (if I at least got that right * lol *)
You do not have the required permissions to view the files attached to this post.
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet

The absolutly High-End Machine on 2024 ... at least the graphics card :oops: O.O :rofl:
User avatar
Yincognito
Rainmeter Sage
Posts: 7029
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Move Item in Y-Axis when Variable=0 (Launcher)

Post by Yincognito »

Youkai1977 wrote: February 3rd, 2021, 11:51 am Sooooo, I looked at the codes and started to implement them.
Adjustments were minimally necessary or things were included that were ultimately not used by me as an example (were they intended, right ?!). At least if I understood your code idea correctly.
And best of all, it worked straight away. :thumbup:
But whether I understood directly what your measures etc. are doing exactly ... * uh * ... I need a little more rest and time to look at it in detail and to question or research.
Excellent! :great: Yes, the parts where I simulated items being empty or not by clicking those little squares on the left side of my sample, were only meant for demonstration and testing purposes, and you did right by not including them in your actual skin. If you don't understand something, ask, don't be shy. :sly: You can also read the "Notes" of my first version of the sample (the one where the little squares are at the top) and see if you can wrap your head around the concepts - you were already going in the right direction, all I did was simplify some things by using some formulas and conditional operations.

P.S. Your skin looks and behaves well - nice work. :thumbup:
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth