It is currently April 19th, 2024, 11:28 pm

Minimal Systeminfo + Slider

Get help with creating, editing & fixing problems with skins
B3AmEr
Posts: 5
Joined: February 8th, 2022, 7:06 am

Minimal Systeminfo + Slider

Post by B3AmEr »

Hi everyone,

like every new User would say "I'm new in this forum and I need some help with my skin" - so am I.
I created a simple Systeminfo Skin for my work (with some Hardware Specs, Network Specs and Shortcuts).
As deafult Skin, I used illustro.
And it turns out like this:
rainmeter_systeminfo.PNG
But now, I'm trying to get a slider to work.
I found this thread (Sliding a Skin with ActionTimer) and I thought I get it (how it works), but I didn't get it to work as I want.
I would like to have only the 4 titles (Systeminfo, PC Specs, Network Specs and Shortcuts). And if I click on one of them, the infos slides down.
rainmeter_systeminfo_slider.png
Could anybody help me, to get this slider work or has an idea how I could get it to work?
Thanks for your help.
You do not have the required permissions to view the files attached to this post.
Last edited by B3AmEr on February 14th, 2022, 10:29 am, edited 1 time in total.
User avatar
Yincognito
Rainmeter Sage
Posts: 7128
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Minimal Systeminfo + Slider

Post by Yincognito »

B3AmEr wrote: February 8th, 2022, 8:02 amI found this thread (Sliding a Skin with ActionTimer) and I thought I get it (how it works), but I didn't get it to work as I want.
I would like to have only the 4 titles (Systeminfo, PC Specs, Network Specs and Shortcuts). And if I click on one of them, the infos slides down.
Apparently, what you want is called a collapsible in technical terms (i.e. a "list" where if you click on "titles" you can either expand or collapse the title "sections", pretty much like the > signs from the left sidebar of the Rainmeter manual works). Here it's such a collapsible for your case:

Code: Select all

;;;SysINfo
[Rainmeter]
Update=1000
AccurateText=1
Background=#@#Background.png
BackgroundMode=3
BackgroundMargins=0,25,0,25
DynamicWindowSize=1
MouseOverAction=[!SetTransparency "100"]
MouseLeaveAction=[!SetTransparency "255"]
SkinWidth=215
;SkinHeight=32

[Variables]
fontName=Trebuchet MS
textSize=8
colorBar=235,170,0,255
colorText=255,255,255,205
maxDownload=891289600
MaxUpload=262144000
disk1=C:

Wait=2
Steps=20
SystemInfosOffSetMax=1
SystemInfosOffSet=0
SystemInfosState=1
PCSpecsOffSetMax=221
PCSpecsOffSet=0
PCSpecsState=1
NetworkSpecsOffSetMax=244
NetworkSpecsOffSet=0
NetworkSpecsState=1
ShortcutsOffSetMax=94
ShortcutsOffSet=0
ShortcutsState=1

; ----------------------------------
; MEASURES: Messpunkte zur Datenanalyse
; ----------------------------------


[SystemInfosSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat SlideDown, #Wait#, #Steps#
SlideDown=[!SetVariable SystemInfosState 2][!SetVariable SystemInfosOffSet (Clamp(#SystemInfosOffSet#+(#SystemInfosOffSetMax#/#Steps#),0,#SystemInfosOffSetMax#))][!UpdateMeasure SystemInfosSlider][!UpdateMeter *][!Redraw]
ActionList2=Repeat SlideUp, #Wait#, #Steps#
SlideUp=[!SetVariable SystemInfosState 1][!SetVariable SystemInfosOffSet (Clamp(#SystemInfosOffSet#-(#SystemInfosOffSetMax#/#Steps#),0,#SystemInfosOffSetMax#))][!UpdateMeasure SystemInfosSlider][!UpdateMeter *][!Redraw]
DynamicVariables=1

[PCSpecsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat SlideDown, #Wait#, #Steps#
SlideDown=[!SetVariable PCSpecsState 2][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#+(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw]
ActionList2=Repeat SlideUp, #Wait#, #Steps#
SlideUp=[!SetVariable PCSpecsState 1][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#-(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw]
DynamicVariables=1

[NetworkSpecsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat SlideDown, #Wait#, #Steps#
SlideDown=[!SetVariable NetworkSpecsState 2][!SetVariable NetworkSpecsOffSet (Clamp(#NetworkSpecsOffSet#+(#NetworkSpecsOffSetMax#/#Steps#),0,#NetworkSpecsOffSetMax#))][!UpdateMeasure NetworkSpecsSlider][!UpdateMeter *][!Redraw]
ActionList2=Repeat SlideUp, #Wait#, #Steps#
SlideUp=[!SetVariable NetworkSpecsState 1][!SetVariable NetworkSpecsOffSet (Clamp(#NetworkSpecsOffSet#-(#NetworkSpecsOffSetMax#/#Steps#),0,#NetworkSpecsOffSetMax#))][!UpdateMeasure NetworkSpecsSlider][!UpdateMeter *][!Redraw]
DynamicVariables=1

[ShortcutsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat SlideDown, #Wait#, #Steps#
SlideDown=[!SetVariable ShortcutsState 2][!SetVariable ShortcutsOffSet (Clamp(#ShortcutsOffSet#+(#ShortcutsOffSetMax#/#Steps#),0,#ShortcutsOffSetMax#))][!UpdateMeasure ShortcutsSlider][!UpdateMeter *][!Redraw]
ActionList2=Repeat SlideUp, #Wait#, #Steps#
SlideUp=[!SetVariable ShortcutsState 1][!SetVariable ShortcutsOffSet (Clamp(#ShortcutsOffSet#-(#ShortcutsOffSetMax#/#Steps#),0,#ShortcutsOffSetMax#))][!UpdateMeasure ShortcutsSlider][!UpdateMeter *][!Redraw]
DynamicVariables=1


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

[measureCPU]
Measure=CPU
Processor=0

[MeasureCPUName]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0
RegValue=ProcessorNameString
RegExpSubstitute=1
Substitute="^(.*) @.*$":"\1","    ":" ","   ":" ","  ":" "

;[MeasureCPUMaxTemp]
;Measure=Registry
;RegHKey=HKEY_CURRENT_USER
;RegKey=SOFTWARE\HWiNFO64\VSB
;RegValue=Value1
;UpdateDivider=10

[measureRAM]
Measure=PhysicalMemory
UpdateDivider=20

[MeasurePhysMemTotal]
Measure=PhysicalMemory
Total=1
UpdateDivider=20

[MeasurePhysMemFree]
Measure=PhysicalMemory
InvertMeasure=1
UpdateDivider=2

[MeasureAccu-HwInfo]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Value3
UpdateDivider=10

[MeasureAccu]
Measure=Plugin
Plugin=PowerPlugin
PowerState=Percent
UpdateDivider=60

[MeasureCharging]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(get-wmiobject win32_battery).batterystatus
OutputType=ANSI
UpdateDivider=10
Substitute="1":"entlaedt","2":"mit Netzteil verbunden","3":"voll geladen","4":"niedrig","5":"kritisch","6":"wird geladen","7":"fast voll geladen","8":"wenig aufgeladen","9":"zu gering geladen"
UpdateDivider=60
OnUpdateAction=[!CommandMeasure MeasureCharging "Run"]

[measureTotalDisk1]
Measure=FreeDiskSpace
Drive=#disk1#
Total=1
UpdateDivider=120

[measureUsedDisk1]
Measure=FreeDiskSpace
Drive=#disk1#
InvertMeasure=1
UpdateDivider=120

[measureFileSystem]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(get-volume -DriveLetter C).FileSystemType
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure measureFileSystem "Run"]

[MeasureIPWeb]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=http://checkip.dyndns.org
RegExp="(?siU)Address: (.*)</body>"
StringIndex=1
Updatedivider=10
DynamicVariables=1

[MeasureIPLan]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=IP_ADDRESS
SysInfoData=Best
DynamicVariables=1

[MeasureMacAddress]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=MAC_ADDRESS
SysInfoData=Best
DynamicVariables=1

[MeasureUserName]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=USER_NAME

[measureNetIn]
Measure=NetIn
NetInSpeed=#maxDownload#

[measureNetOut]
Measure=NetOut
NetOutSpeed=#maxUpload#

; ----------------------------------
; STYLES are used to "centralize" options
; ----------------------------------

[MeasureAdapter_Alias]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=ADAPTER_ALIAS
SysInfoData=Best
DynamicVariables=1
Substitute="LAN-Verbindung":"OPN VPN"

[MeasurePing]
Measure=Plugin
Plugin=PingPlugin
UpdateRate=1
DestAddress=www.google.com

[MeasureDNS_Server]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=DNS_Server
SysInfoData=Best
DynamicVariables=1

[MeasureGatewayAddress]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DefaultIPGateway).DefaultIPGateway
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureGatewayAddress "Run"]

[MeasureSubnetmask]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=Net_Mask
SysInfoData=Best
DynamicVariables=1

[MeasureOS]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=OS_Version

[MeasureDNSSuffix]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DNSDOMAIN).DNSDOMAIN
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureDNSSuffix "Run"]

[MeasureDHCP_Server]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DHCPServer).DHCPServer
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureDHCP_Server "Run"]

; ----------------------------------
; Styles: Angaben zum Aussehen und zur Vereinheitlichung
; ----------------------------------
[styleTitle]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=16
AntiAlias=1
ClipString=1

[styleTitle2]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=12
AntiAlias=1
ClipString=1

[styleLeftText]
StringAlign=Left
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleRightText]
StringAlign=Right
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleBar]
BarColor=#colorBar#
BarOrientation=HORIZONTAL
SolidColor=255,255,255,15

[styleSeperator]
SolidColor=255,255,251,15

; ----------------------------------
; METERS: Angaben für Graphen, Ausrichtung Anzeigetext
; ----------------------------------

[meterTitle]
Meter=String
MeterStyle=styleTitle
X=100
Y=3R
W=190
H=25
Text=Systeminfos
LeftMouseUpAction=[!CommandMeasure SystemInfosSlider "Execute #SystemInfosState#"]
DynamicVariables=1

[SystemInfosContainer]
Meter=Shape
Shape=Rectangle 0,0,210,#SystemInfosOffSet# | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=23r
DynamicVariables=1

[meterSeperator]
;white Linie
Meter=Image
Container=SystemInfosContainer
MeterStyle=styleSeperator
X=10
Y=(#SystemInfosOffSet#-#SystemInfosOffSetMax#)r
W=190
H=1
DynamicVariables=1

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

[meterTitlePCSpecs]
Meter=String
MeterStyle=styleTitle2
X=100
Y=4R
W=190
H=25
Text=PC Specs
LeftMouseUpAction=[!CommandMeasure PCSpecsSlider "Execute #PCSpecsState#"]
DynamicVariables=1

[PCSpecsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,#PCSpecsOffSet# | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[meterUser_Name]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=(#PCSpecsOffSet#-#PCSpecsOffSetMax#)r
W=190
H=14
Text=User Name
DynamicVariables=1

[MeterUser_Name_Text]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureUserName
X=200
Y=0r
W=190
H=14
Text=%1

[MeterOS]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=OS

[MeterOSText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureOS
X=200
Y=0r
W=190
H=14

[MeterCPUName]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=CPU

[MeterCPUNameText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureCPUName
X=200
Y=0r
W=190
H=14

[meterLabelCPU]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=CPU Usage

[meterValueCPU]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureCPU
X=200
Y=0r
W=190
H=14
Text=%1%

[meterBarCPU]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureCPU
X=10
Y=12r
W=190
H=1

;[MeterCPUMaxTemp]
;Meter=String
Container=PCSpecsContainer
;MeterStyle=styleLeftText
;X=10
;Y=15r
;W=190
;H=14
;Text=CPU Temperatur

;[MeterMaxCPUTempText]
;Meter=String
Container=PCSpecsContainer
;MeterStyle=styleRightText
;MeasureName=MeasureCPUMaxTemp
;X=200
;Y=0r
;W=190
;H=14

[MeterHarddrive]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Festplatte

[MeterFileSystemText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureFileSystem
X=200
Y=0r
W=190
H=14

[meterLabelDisk1]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=#disk1#\

[meterValueDisk1]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureUsedDisk1
MeasureName2=measureTotalDisk1
X=200
Y=0r
W=190
H=14
Text=%1B/%2B used
NumOfDecimals=1
AutoScale=1
LeftMouseUpAction=["#disk1#\"]

[meterBarDisk1]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureUsedDisk1
X=10
Y=12r
W=190
H=1

[MeterRamText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
MeasureName=MeasurePhysMemTotal
MeasureName2=MeasurePhysMemFree
AntiAlias=1
NumOfDecimals=1
AutoScale=1
X=10
Y=15r
W=190
H=14
Text="RAM Total: %1B | Free: %2B"

[meterLabelRAM]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=RAM Usage

[meterValueRAM]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureRAM
X=200
Y=0r
W=190
H=14
Text=%1%
Percentual=1


[meterBarRAM]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureRAM
X=10
Y=12r
W=190
H=1

[MeterAccu]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=10r
W=190
H=14
Text=Akkustand

[MeterAccuText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureAccu
X=200
Y=0r
W=190
H=14
Text=%1%

[MeterCharging]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Ladezustand

[MeterChargingText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureCharging
X=200
Y=0r
W=190
H=14

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

[meterTitleNetworkSpecs]
Meter=String
MeterStyle=styleTitle2
X=100
Y=0R
W=190
H=20
Text=Network Specs
LeftMouseUpAction=[!CommandMeasure NetworkSpecsSlider "Execute #NetworkSpecsState#"]
DynamicVariables=1

[NetworkSpecsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,#NetworkSpecsOffSet# | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[meterAdapter_Alias]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=(#NetworkSpecsOffSet#-#NetworkSpecsOffSetMax#)r
W=190
H=14
Text=Adapter
DynamicVariables=1

[MeterAdapterText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureAdapter_Alias
X=200
Y=0r
W=190
H=14

[meterMacAddress]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=MAC Address

[MeterMacText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureMacAddress
X=200
Y=0r
W=190
H=14

[meterIPLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=IP Address Lan

[MeterLANIPText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureIPLan
X=200
Y=0r
W=190
H=14
Text=%1

[meterIPWanLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=IP Address WAN

[MeterWANIPText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureIPWeb
X=200
Y=0r
W=190
H=14
Text=%1

[MeterDNSDomain]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DNS Domain

[MeterDNSDomainText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDNSSuffix
X=200
Y=0r
W=190
H=14

[MeterDNS_Server]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DNS Server

[MeterDNS_ServerText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDNS_Server
X=200
Y=0r
W=190
H=14

[MeterSubnetmask]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Subnet

[MeterSubnetmaskText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureSubnetmask
X=200
Y=0r
W=190
H=14

[MeterGateway]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Gateway

[MeterGatewayText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureGatewayAddress
X=200
Y=0r
W=190
H=14

[MeterDHCP_Server]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DHCP Server

[MeterDHCP_ServerText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDHCP_Server
X=200
Y=0r
W=190
H=14

[MeterPing]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Ping

[MeterPingText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasurePing
Text=%1 ms | to Google.com
X=200
Y=0r
W=190
H=14

[meterUploadLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Upload

[meterUploadValue]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=measureNetOut
X=200
Y=0r
W=190
H=14
Text=%1B/s
NumOfDecimals=1
AutoScale=1

[meterUploadBar]
Meter=Bar
Container=NetworkSpecsContainer
MeterStyle=styleBar
MeasureName=measureNetOut
X=10
Y=12r
W=190
H=1

[meterDownloadLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=10r
W=190
H=14
Text=Download

[meterDownloadValue]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=measureNetIn
X=200
Y=0r
W=190
H=14
Text=%1B/s
NumOfDecimals=1
AutoScale=1

[meterDownloadBar]
Meter=Bar
Container=NetworkSpecsContainer
MeterStyle=styleBar
MeasureName=measureNetIn
X=10
Y=12r
W=190
H=1

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

[meterTitleShortcuts]
Meter=String
MeterStyle=styleTitle2
X=100
Y=0R
W=190
H=20
Text=ShortCuts
LeftMouseUpAction=[!CommandMeasure ShortcutsSlider "Execute #ShortcutsState#"]
DynamicVariables=1

[ShortcutsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,#ShortcutsOffSet# | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[MeterDesktop]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=(#ShortcutsOffSet#-#ShortcutsOffSetMax#)r
W=190
H=14
Text=Desktop
LeftMouseDownAction=[Shell:::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
DynamicVariables=1

[MeterSystem]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=System
LeftMouseDownAction=[Shell:::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}]

[MeterDeviceManager]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Device Manager
LeftMouseDownAction=[Shell:::{74246bfc-4c96-11d0-abef-0020af6b0b7a}]

[MeterNetworkConnection]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Netzwerkverbindung
LeftMouseUpAction=[Shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}]

[MeterControlPanel]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Systemsteuerung
LeftMouseUpAction=[Shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}]
Some notes:
- you weren't 100% clear in your description regarding whether the top SystemInfos title is also expandable, so I made it like that as well; its section contains just the top line separator, so if you want it to be always expanded, you'd have to change these lines in the [Variables] section to:

Code: Select all

SystemInfosOffSet=1
SystemInfosState=2
basically setting the said section's state to "expanded" aka 2 and make the offset equal to the section's maximum offset above
- you can modify the speed on which ActionTimer animates the sliders by playing with the Wait and Steps variables in the in the [Variables] section (usually a higher speed means lowering one or both Wait and Steps, and viceversa)
- the states can be 1 (collapsed) or 2 (expanded) for all your title sections, and the sliders more or less decrease or increase the corresponding offset variables from 0 to their maximum offsets; be aware that you should adjust the maximum offset accordingly if you add a new element in a title's section, generally increasing its value with the new line's height in pixels
- each title has a left mouse up action triggering its corresponding slider to change state and perform the decrement / increment of the appropriate offset value
- to hide unwanted parts of a title section when sliding I used containers that "hold" the that section's meters and change their height accordingly with how the offset is changing, basically making less (or more, depending on the sliding direction) content visible when sliding
- to move title sections up and down I set the Y of the first meter of the said section as a function of the corresponding offset and maximum offset; since all the meters of this skin are relatively positioned to their previous meter, moving the top meter of a title's section will move the section meters below it as well, and coupled with hiding unwanted content via containers produces the final sliding effect, considering that "contained" meters will be positioned in relation to their container meters
- since the container meters are essentially more or less independent "blocks" that keep their "inside" and "outside" relations separated, I positioned the meter following the last meter of a preceding container using the appended R relative positioning, so as to place it relative to the "bottom" of the preceding container

Other than that, the rest is just basic Rainmeter principles, not much else. Feel free to ask if you didn't understand something, because in the future it will be up to you to manipulate stuff to adapt to new situations (like adding or removing a title along with its section, etc.) that might arise, and you'll have to know what you're doing. ;-)

P.S. Just in case you'll ask, since container meters cannot be nested, having a "master title section" that contains other title sections is not possible. I mean it's possible, but you won't be able to hide the unwanted content when sliding, at least not the easy way.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
B3AmEr
Posts: 5
Joined: February 8th, 2022, 7:06 am

Re: Minimal Systeminfo + Slider

Post by B3AmEr »

@Yincognito Thank you so much. That was excatly what I am looking for. Now that I have the basic functionality, I'll take a look at how it works so I can customize it later (if necessary). You really helped me a lot.

I think I understand how it works.
at first you put this in the variables

Code: Select all

[Variables]

Wait=2
Steps=20
PCSpecsOffSetMax=230
PCSpecsOffSet=0
PCSpecsState=1
NetworkSpecsOffSetMax=244
NetworkSpecsOffSet=0
NetworkSpecsState=1
ShortcutsOffSetMax=170
ShortcutsOffSet=0
ShortcutsState=1
which specifies the maximum window length.

second step

Code: Select all

[PCSpecsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat SlideDown, #Wait#, #Steps#
SlideDown=[!SetVariable PCSpecsState 2][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#+(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw]
ActionList2=Repeat SlideUp, #Wait#, #Steps#
SlideUp=[!SetVariable PCSpecsState 1][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#-(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw]
DynamicVariables=1
a slider for each title

third step

Code: Select all

[meterTitlePCSpecs]
Meter=String
MeterStyle=styleTitle2
X=100
Y=3r
W=190
H=25
Text=PC Specs
LeftMouseUpAction=[!CommandMeasure PCSpecsSlider "Execute #PCSpecsState#"]
DynamicVariables=1
put the LeftMouseUpAction in the title

fourth step

Code: Select all

[PCSpecsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,#PCSpecsOffSet# | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1
creating a container for each specs title, which will include the meters in step five

fifth step

Code: Select all

[meterUser_Name]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=(#PCSpecsOffSet#-#PCSpecsOffSetMax#)r
W=190
H=14
Text=User Name
DynamicVariables=1
put the meter in the correct container

Have I understood that correctly?

I have one more question: how can I change the direction? So that the meter moves from bottom to top.
User avatar
Yincognito
Rainmeter Sage
Posts: 7128
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Minimal Systeminfo + Slider

Post by Yincognito »

B3AmEr wrote: February 9th, 2022, 6:52 am @Yincognito Thank you so much. That was excatly what I am looking for. Now that I have the basic functionality, I'll take a look at how it works so I can customize it later (if necessary). You really helped me a lot.
No problem! It should have been relatively easy to get how sliding is done right from the basic examples in the thread you linked to in your initial post, though it's true that hiding / masking the overlapping content when sliding required using container meters that weren't critical in the other thread. Plus, if you just started with Rainmeter, the task may seem a bit complicated, but overall it's not that hard to wrap your head around the main ideas. Good luck in the endeavour! ;-)
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
Yincognito
Rainmeter Sage
Posts: 7128
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Minimal Systeminfo + Slider

Post by Yincognito »

Yes, you understood that perfectly - well done! :thumbup:

As for changing the direction, I'm not entirely sure what you mean, because meters are already capable of sliding back from bottom to top, if you set the state(s) to 2 - aka collapse, or the equivalent of executing the SlideUp action(s) in the slider(s) - and the offset(s) to the value of the corresponding maximum offset(s), like I described in my first reply when talking about the top SystemInfos section.

Is that what you meant?

P.S. In case you meant changing the implementation to slide up when expanding and down when collapsing, you'd have to add to the two things I mentioned above:
- setting the Y in the fifth step to 0r, because in this case the meters won't move, they will actually be moved by the below action
- moving the entire skin up on the screen in the sliders by the same amount of pixels that are added to the offsets (which will also move containers and meters in the same direction), but due to the fact that containers grow bigger vertically by the same amount, the skin will maintain its bottom edge in the same position on the screen
Last edited by Yincognito on February 9th, 2022, 10:46 am, edited 1 time in total.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
B3AmEr
Posts: 5
Joined: February 8th, 2022, 7:06 am

Re: Minimal Systeminfo + Slider

Post by B3AmEr »

I try to explain it, with pictures. XD

if I click on any title, the specs sliding down:
rainmeter_systeminfo_small.PNG
->
rainmeter_systeminfo_sliderout.PNG
so when I put Rainmeter to a the taskbar, everything drops down (into the nirvana)
rainmeter_systeminfo_taskbar.PNG
->
rainmeter_systeminfo_taskbar2.PNG
In order for this not to happen, I would have to change direction.
You do not have the required permissions to view the files attached to this post.
User avatar
Yincognito
Rainmeter Sage
Posts: 7128
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Minimal Systeminfo + Slider

Post by Yincognito »

B3AmEr wrote: February 9th, 2022, 10:41 am I try to explain it, with pictures. XD

if I click on any title, the specs sliding down:
rainmeter_systeminfo_small.PNG -> rainmeter_systeminfo_sliderout.PNG

so when I put Rainmeter to a the taskbar, everything drops down (into the nirvana)
rainmeter_systeminfo_taskbar.PNG->rainmeter_systeminfo_taskbar2.PNG

In order for this not to happen, I would have to change direction.
Yep, I eventually realized what you meant, and edited my previous reply accordingly, see above.

I can't implement this ATM since I'm on mobile, but the keys steps should pretty much resemble the 4 things I talked about earlier.

Oh, and since we're at it, you should have said that you wanted an upwards expanding from the beginning, because obviously I modified the skin to do the opposite in my first reply - just saying... :D

EDIT: Actually, just the last 2 things I talked about earlier are needed, but for now there's a bit of glitch that prevents this from working as expected - I'll investigate the matter, stay tuned.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
B3AmEr
Posts: 5
Joined: February 8th, 2022, 7:06 am

Re: Minimal Systeminfo + Slider

Post by B3AmEr »

Yincognito wrote: February 9th, 2022, 10:53 am Yep, I eventually realized what you meant, and edited my previous reply accordingly, see above.

I can't implement this ATM since I'm on mobile, but the keys steps should pretty much resemble the 4 things I talked about earlier.

Oh, and since we're at it, you should have said that you wanted an upwards expanding from the beginning, because obviously I modified the skin to do the opposite in my first reply - just saying... :D

EDIT: Actually, just the last 2 things I talked about earlier are needed, but for now there's a bit of glitch that prevents this from working as expected - I'll investigate the matter, stay tuned.
Thank you so much!
User avatar
Yincognito
Rainmeter Sage
Posts: 7128
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Minimal Systeminfo + Slider

Post by Yincognito »

B3AmEr wrote: February 9th, 2022, 12:38 pm Thank you so much!
After some other things I had to do, I got some time for the final version of this:

Code: Select all

;;;SysINfo
[Rainmeter]
Update=1000
AccurateText=1
Background=#@#Background.png
BackgroundMode=3
BackgroundMargins=0,25,0,25
DynamicWindowSize=1
MouseOverAction=[!SetTransparency "100"]
MouseLeaveAction=[!SetTransparency "255"]
SkinWidth=215
;SkinHeight=32

[Variables]
fontName=Trebuchet MS
textSize=8
colorBar=235,170,0,255
colorText=255,255,255,205
maxDownload=891289600
MaxUpload=262144000
disk1=C:

LastOffset=0
Mode=0
Wait=2
Steps=20
SystemInfosOffSetMax=1
SystemInfosOffSet=0
SystemInfosState=1
PCSpecsOffSetMax=221
PCSpecsOffSet=0
PCSpecsState=1
NetworkSpecsOffSetMax=244
NetworkSpecsOffSet=0
NetworkSpecsState=1
ShortcutsOffSetMax=94
ShortcutsOffSet=0
ShortcutsState=1

; ----------------------------------
; MEASURES: Messpunkte zur Datenanalyse
; ----------------------------------


[SystemInfosSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable SystemInfosState 2][!SetVariable LastOffset #SystemInfosOffSet#][!SetVariable SystemInfosOffSet (Clamp(#SystemInfosOffSet#+(#SystemInfosOffSetMax#/#Steps#),0,#SystemInfosOffSetMax#))][!UpdateMeasure SystemInfosSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#SystemInfosOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable SystemInfosState 1][!SetVariable LastOffset #SystemInfosOffSet#][!SetVariable SystemInfosOffSet (Clamp(#SystemInfosOffSet#-(#SystemInfosOffSetMax#/#Steps#),0,#SystemInfosOffSetMax#))][!UpdateMeasure SystemInfosSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#SystemInfosOffSet])))]
DynamicVariables=1

[PCSpecsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable PCSpecsState 2][!SetVariable LastOffset #PCSpecsOffSet#][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#+(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#PCSpecsOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable PCSpecsState 1][!SetVariable LastOffset #PCSpecsOffSet#][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#-(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#PCSpecsOffSet])))]
DynamicVariables=1

[NetworkSpecsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable NetworkSpecsState 2][!SetVariable LastOffset #NetworkSpecsOffSet#][!SetVariable NetworkSpecsOffSet (Clamp(#NetworkSpecsOffSet#+(#NetworkSpecsOffSetMax#/#Steps#),0,#NetworkSpecsOffSetMax#))][!UpdateMeasure NetworkSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#NetworkSpecsOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable NetworkSpecsState 1][!SetVariable LastOffset #NetworkSpecsOffSet#][!SetVariable NetworkSpecsOffSet (Clamp(#NetworkSpecsOffSet#-(#NetworkSpecsOffSetMax#/#Steps#),0,#NetworkSpecsOffSetMax#))][!UpdateMeasure NetworkSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#NetworkSpecsOffSet])))]
DynamicVariables=1

[ShortcutsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable ShortcutsState 2][!SetVariable LastOffset #ShortcutsOffSet#][!SetVariable ShortcutsOffSet (Clamp(#ShortcutsOffSet#+(#ShortcutsOffSetMax#/#Steps#),0,#ShortcutsOffSetMax#))][!UpdateMeasure ShortcutsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#ShortcutsOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable ShortcutsState 1][!SetVariable LastOffset #ShortcutsOffSet#][!SetVariable ShortcutsOffSet (Clamp(#ShortcutsOffSet#-(#ShortcutsOffSetMax#/#Steps#),0,#ShortcutsOffSetMax#))][!UpdateMeasure ShortcutsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#ShortcutsOffSet])))]
DynamicVariables=1


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

[measureCPU]
Measure=CPU
Processor=0

[MeasureCPUName]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0
RegValue=ProcessorNameString
RegExpSubstitute=1
Substitute="^(.*) @.*$":"\1","    ":" ","   ":" ","  ":" "

;[MeasureCPUMaxTemp]
;Measure=Registry
;RegHKey=HKEY_CURRENT_USER
;RegKey=SOFTWARE\HWiNFO64\VSB
;RegValue=Value1
;UpdateDivider=10

[measureRAM]
Measure=PhysicalMemory
UpdateDivider=20

[MeasurePhysMemTotal]
Measure=PhysicalMemory
Total=1
UpdateDivider=20

[MeasurePhysMemFree]
Measure=PhysicalMemory
InvertMeasure=1
UpdateDivider=2

[MeasureAccu-HwInfo]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Value3
UpdateDivider=10

[MeasureAccu]
Measure=Plugin
Plugin=PowerPlugin
PowerState=Percent
UpdateDivider=60

[MeasureCharging]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(get-wmiobject win32_battery).batterystatus
OutputType=ANSI
UpdateDivider=10
Substitute="1":"entlaedt","2":"mit Netzteil verbunden","3":"voll geladen","4":"niedrig","5":"kritisch","6":"wird geladen","7":"fast voll geladen","8":"wenig aufgeladen","9":"zu gering geladen"
UpdateDivider=60
OnUpdateAction=[!CommandMeasure MeasureCharging "Run"]

[measureTotalDisk1]
Measure=FreeDiskSpace
Drive=#disk1#
Total=1
UpdateDivider=120

[measureUsedDisk1]
Measure=FreeDiskSpace
Drive=#disk1#
InvertMeasure=1
UpdateDivider=120

[measureFileSystem]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(get-volume -DriveLetter C).FileSystemType
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure measureFileSystem "Run"]

[MeasureIPWeb]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=http://checkip.dyndns.org
RegExp="(?siU)Address: (.*)</body>"
StringIndex=1
Updatedivider=10
DynamicVariables=1

[MeasureIPLan]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=IP_ADDRESS
SysInfoData=Best
DynamicVariables=1

[MeasureMacAddress]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=MAC_ADDRESS
SysInfoData=Best
DynamicVariables=1

[MeasureUserName]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=USER_NAME

[measureNetIn]
Measure=NetIn
NetInSpeed=#maxDownload#

[measureNetOut]
Measure=NetOut
NetOutSpeed=#maxUpload#

; ----------------------------------
; STYLES are used to "centralize" options
; ----------------------------------

[MeasureAdapter_Alias]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=ADAPTER_ALIAS
SysInfoData=Best
DynamicVariables=1
Substitute="LAN-Verbindung":"OPN VPN"

[MeasurePing]
Measure=Plugin
Plugin=PingPlugin
UpdateRate=1
DestAddress=www.google.com

[MeasureDNS_Server]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=DNS_Server
SysInfoData=Best
DynamicVariables=1

[MeasureGatewayAddress]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DefaultIPGateway).DefaultIPGateway
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureGatewayAddress "Run"]

[MeasureSubnetmask]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=Net_Mask
SysInfoData=Best
DynamicVariables=1

[MeasureOS]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=OS_Version

[MeasureDNSSuffix]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DNSDOMAIN).DNSDOMAIN
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureDNSSuffix "Run"]

[MeasureDHCP_Server]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DHCPServer).DHCPServer
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureDHCP_Server "Run"]

; ----------------------------------
; Styles: Angaben zum Aussehen und zur Vereinheitlichung
; ----------------------------------
[styleTitle]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=16
AntiAlias=1
ClipString=1

[styleTitle2]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=12
AntiAlias=1
ClipString=1

[styleLeftText]
StringAlign=Left
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleRightText]
StringAlign=Right
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleBar]
BarColor=#colorBar#
BarOrientation=HORIZONTAL
SolidColor=255,255,255,15

[styleSeperator]
SolidColor=255,255,251,15

; ----------------------------------
; METERS: Angaben für Graphen, Ausrichtung Anzeigetext
; ----------------------------------

[meterTitle]
Meter=String
MeterStyle=styleTitle
X=100
Y=3R
W=190
H=25
Text=Systeminfos
LeftMouseUpAction=[!CommandMeasure SystemInfosSlider "Execute #SystemInfosState#"]
MiddleMouseUpAction=[!SetVariable Mode (1-#Mode#)]
DynamicVariables=1

[SystemInfosContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#SystemInfosOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=23r
DynamicVariables=1

[meterSeperator]
;white Linie
Meter=Image
Container=SystemInfosContainer
MeterStyle=styleSeperator
X=10
Y=((1-#Mode#)*(Trunc(#SystemInfosOffSet#)-#SystemInfosOffSetMax#))r
W=190
H=1
DynamicVariables=1

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

[meterTitlePCSpecs]
Meter=String
MeterStyle=styleTitle2
X=100
Y=4R
W=190
H=25
Text=PC Specs
LeftMouseUpAction=[!CommandMeasure PCSpecsSlider "Execute #PCSpecsState#"]
DynamicVariables=1

[PCSpecsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#PCSpecsOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[meterUser_Name]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=((1-#Mode#)*(Trunc(#PCSpecsOffSet#)-#PCSpecsOffSetMax#))r
W=190
H=14
Text=User Name
DynamicVariables=1

[MeterUser_Name_Text]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureUserName
X=200
Y=0r
W=190
H=14
Text=%1

[MeterOS]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=OS

[MeterOSText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureOS
X=200
Y=0r
W=190
H=14

[MeterCPUName]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=CPU

[MeterCPUNameText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureCPUName
X=200
Y=0r
W=190
H=14

[meterLabelCPU]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=CPU Usage

[meterValueCPU]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureCPU
X=200
Y=0r
W=190
H=14
Text=%1%

[meterBarCPU]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureCPU
X=10
Y=12r
W=190
H=1

;[MeterCPUMaxTemp]
;Meter=String
Container=PCSpecsContainer
;MeterStyle=styleLeftText
;X=10
;Y=15r
;W=190
;H=14
;Text=CPU Temperatur

;[MeterMaxCPUTempText]
;Meter=String
Container=PCSpecsContainer
;MeterStyle=styleRightText
;MeasureName=MeasureCPUMaxTemp
;X=200
;Y=0r
;W=190
;H=14

[MeterHarddrive]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Festplatte

[MeterFileSystemText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureFileSystem
X=200
Y=0r
W=190
H=14

[meterLabelDisk1]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=#disk1#\

[meterValueDisk1]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureUsedDisk1
MeasureName2=measureTotalDisk1
X=200
Y=0r
W=190
H=14
Text=%1B/%2B used
NumOfDecimals=1
AutoScale=1
LeftMouseUpAction=["#disk1#\"]

[meterBarDisk1]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureUsedDisk1
X=10
Y=12r
W=190
H=1

[MeterRamText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
MeasureName=MeasurePhysMemTotal
MeasureName2=MeasurePhysMemFree
AntiAlias=1
NumOfDecimals=1
AutoScale=1
X=10
Y=15r
W=190
H=14
Text="RAM Total: %1B | Free: %2B"

[meterLabelRAM]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=RAM Usage

[meterValueRAM]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureRAM
X=200
Y=0r
W=190
H=14
Text=%1%
Percentual=1


[meterBarRAM]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureRAM
X=10
Y=12r
W=190
H=1

[MeterAccu]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=10r
W=190
H=14
Text=Akkustand

[MeterAccuText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureAccu
X=200
Y=0r
W=190
H=14
Text=%1%

[MeterCharging]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Ladezustand

[MeterChargingText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureCharging
X=200
Y=0r
W=190
H=14

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

[meterTitleNetworkSpecs]
Meter=String
MeterStyle=styleTitle2
X=100
Y=0R
W=190
H=20
Text=Network Specs
LeftMouseUpAction=[!CommandMeasure NetworkSpecsSlider "Execute #NetworkSpecsState#"]
DynamicVariables=1

[NetworkSpecsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#NetworkSpecsOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[meterAdapter_Alias]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=((1-#Mode#)*(Trunc(#NetworkSpecsOffSet#)-#NetworkSpecsOffSetMax#))r
W=190
H=14
Text=Adapter
DynamicVariables=1

[MeterAdapterText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureAdapter_Alias
X=200
Y=0r
W=190
H=14

[meterMacAddress]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=MAC Address

[MeterMacText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureMacAddress
X=200
Y=0r
W=190
H=14

[meterIPLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=IP Address Lan

[MeterLANIPText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureIPLan
X=200
Y=0r
W=190
H=14
Text=%1

[meterIPWanLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=IP Address WAN

[MeterWANIPText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureIPWeb
X=200
Y=0r
W=190
H=14
Text=%1

[MeterDNSDomain]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DNS Domain

[MeterDNSDomainText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDNSSuffix
X=200
Y=0r
W=190
H=14

[MeterDNS_Server]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DNS Server

[MeterDNS_ServerText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDNS_Server
X=200
Y=0r
W=190
H=14

[MeterSubnetmask]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Subnet

[MeterSubnetmaskText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureSubnetmask
X=200
Y=0r
W=190
H=14

[MeterGateway]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Gateway

[MeterGatewayText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureGatewayAddress
X=200
Y=0r
W=190
H=14

[MeterDHCP_Server]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DHCP Server

[MeterDHCP_ServerText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDHCP_Server
X=200
Y=0r
W=190
H=14

[MeterPing]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Ping

[MeterPingText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasurePing
Text=%1 ms | to Google.com
X=200
Y=0r
W=190
H=14

[meterUploadLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Upload

[meterUploadValue]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=measureNetOut
X=200
Y=0r
W=190
H=14
Text=%1B/s
NumOfDecimals=1
AutoScale=1

[meterUploadBar]
Meter=Bar
Container=NetworkSpecsContainer
MeterStyle=styleBar
MeasureName=measureNetOut
X=10
Y=12r
W=190
H=1

[meterDownloadLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=10r
W=190
H=14
Text=Download

[meterDownloadValue]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=measureNetIn
X=200
Y=0r
W=190
H=14
Text=%1B/s
NumOfDecimals=1
AutoScale=1

[meterDownloadBar]
Meter=Bar
Container=NetworkSpecsContainer
MeterStyle=styleBar
MeasureName=measureNetIn
X=10
Y=12r
W=190
H=1

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

[meterTitleShortcuts]
Meter=String
MeterStyle=styleTitle2
X=100
Y=0R
W=190
H=20
Text=ShortCuts
LeftMouseUpAction=[!CommandMeasure ShortcutsSlider "Execute #ShortcutsState#"]
DynamicVariables=1

[ShortcutsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#ShortcutsOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[MeterDesktop]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=((1-#Mode#)*(Trunc(#ShortcutsOffSet#)-#ShortcutsOffSetMax#))r
W=190
H=14
Text=Desktop
LeftMouseDownAction=[Shell:::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
DynamicVariables=1

[MeterSystem]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=System
LeftMouseDownAction=[Shell:::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}]

[MeterDeviceManager]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Device Manager
LeftMouseDownAction=[Shell:::{74246bfc-4c96-11d0-abef-0020af6b0b7a}]

[MeterNetworkConnection]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Netzwerkverbindung
LeftMouseUpAction=[Shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}]

[MeterControlPanel]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Systemsteuerung
LeftMouseUpAction=[Shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}]
Sorry for the dark color, had to optimize the GIF to post it:
ezgif.com-gif-maker (3).gif
Basically, it worked alright before as well, it's just that it had some glitches related to the fractional values resulted from dividing the maximum offsets to the steps value in the sliders. In other words, the fractional part of the offset made the moving of the skin to lack precision since on one hand Shape measures (like the containers) tolerate fractional values as dimensions and on the other hand moving and positioning the skin works only with integer values. More or less, the fractional parts kept adding up to a point where the result didn't match the integer version of it.

In short, there are some integer values used in the fourth and fifth steps you mentioned above (see functions in formulas) instead of fractional in order to keep the dimension changes as integers, a new variable called LastOffset which holds the last value of an offset (any offset, by the way), another variable called Mode which stores whether the expanding is done downwards (Mode=0) or upwards (Mode=1) and can be toggled by middle clicking on the SystemInfos title, plus properly using these variables as integers to move the skin by the difference between the last and the current value of an offset. You might want to take a look at the skin position variables and the notes from nesting variables to understand why I used them and their syntax (i.e. to get skin position with the built in variables, and to get the current value of variables from the same bang with nested syntax).
You do not have the required permissions to view the files attached to this post.
Last edited by Yincognito on February 14th, 2022, 3:49 pm, edited 1 time in total.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
B3AmEr
Posts: 5
Joined: February 8th, 2022, 7:06 am

Re: Minimal Systeminfo + Slider

Post by B3AmEr »

Yincognito wrote: February 9th, 2022, 5:12 pm After some other things I had to do, I got some time for the final version of this:

Code: Select all

;;;SysINfo
[Rainmeter]
Update=1000
AccurateText=1
Background=#@#Background.png
BackgroundMode=3
BackgroundMargins=0,25,0,25
DynamicWindowSize=1
MouseOverAction=[!SetTransparency "100"]
MouseLeaveAction=[!SetTransparency "255"]
SkinWidth=215
;SkinHeight=32

[Variables]
fontName=Trebuchet MS
textSize=8
colorBar=235,170,0,255
colorText=255,255,255,205
maxDownload=891289600
MaxUpload=262144000
disk1=C:

LastOffset=0
Mode=0
Wait=2
Steps=20
SystemInfosOffSetMax=1
SystemInfosOffSet=0
SystemInfosState=1
PCSpecsOffSetMax=221
PCSpecsOffSet=0
PCSpecsState=1
NetworkSpecsOffSetMax=244
NetworkSpecsOffSet=0
NetworkSpecsState=1
ShortcutsOffSetMax=94
ShortcutsOffSet=0
ShortcutsState=1

; ----------------------------------
; MEASURES: Messpunkte zur Datenanalyse
; ----------------------------------


[SystemInfosSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable SystemInfosState 2][!SetVariable LastOffset #SystemInfosOffSet#][!SetVariable SystemInfosOffSet (Clamp(#SystemInfosOffSet#+(#SystemInfosOffSetMax#/#Steps#),0,#SystemInfosOffSetMax#))][!UpdateMeasure SystemInfosSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#SystemInfosOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable SystemInfosState 1][!SetVariable LastOffset #SystemInfosOffSet#][!SetVariable SystemInfosOffSet (Clamp(#SystemInfosOffSet#-(#SystemInfosOffSetMax#/#Steps#),0,#SystemInfosOffSetMax#))][!UpdateMeasure SystemInfosSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#SystemInfosOffSet])))]
DynamicVariables=1

[PCSpecsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable PCSpecsState 2][!SetVariable LastOffset #PCSpecsOffSet#][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#+(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#PCSpecsOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable PCSpecsState 1][!SetVariable LastOffset #PCSpecsOffSet#][!SetVariable PCSpecsOffSet (Clamp(#PCSpecsOffSet#-(#PCSpecsOffSetMax#/#Steps#),0,#PCSpecsOffSetMax#))][!UpdateMeasure PCSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#PCSpecsOffSet])))]
DynamicVariables=1

[NetworkSpecsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable NetworkSpecsState 2][!SetVariable LastOffset #NetworkSpecsOffSet#][!SetVariable NetworkSpecsOffSet (Clamp(#NetworkSpecsOffSet#+(#NetworkSpecsOffSetMax#/#Steps#),0,#NetworkSpecsOffSetMax#))][!UpdateMeasure NetworkSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#NetworkSpecsOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable NetworkSpecsState 1][!SetVariable LastOffset #NetworkSpecsOffSet#][!SetVariable NetworkSpecsOffSet (Clamp(#NetworkSpecsOffSet#-(#NetworkSpecsOffSetMax#/#Steps#),0,#NetworkSpecsOffSetMax#))][!UpdateMeasure NetworkSpecsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#NetworkSpecsOffSet])))]
DynamicVariables=1

[ShortcutsSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Expand, #Wait#, #Steps#
Expand=[!SetVariable ShortcutsState 2][!SetVariable LastOffset #ShortcutsOffSet#][!SetVariable ShortcutsOffSet (Clamp(#ShortcutsOffSet#+(#ShortcutsOffSetMax#/#Steps#),0,#ShortcutsOffSetMax#))][!UpdateMeasure ShortcutsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#ShortcutsOffSet])))]
ActionList2=Repeat Collapse, #Wait#, #Steps#
Collapse=[!SetVariable ShortcutsState 1][!SetVariable LastOffset #ShortcutsOffSet#][!SetVariable ShortcutsOffSet (Clamp(#ShortcutsOffSet#-(#ShortcutsOffSetMax#/#Steps#),0,#ShortcutsOffSetMax#))][!UpdateMeasure ShortcutsSlider][!UpdateMeter *][!Redraw][!Move ([#CURRENTCONFIGX]) ([#CURRENTCONFIGY]+#Mode#*(Trunc([#LastOffSet])-Trunc([#ShortcutsOffSet])))]
DynamicVariables=1


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

[measureCPU]
Measure=CPU
Processor=0

[MeasureCPUName]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0
RegValue=ProcessorNameString
RegExpSubstitute=1
Substitute="^(.*) @.*$":"\1","    ":" ","   ":" ","  ":" "

;[MeasureCPUMaxTemp]
;Measure=Registry
;RegHKey=HKEY_CURRENT_USER
;RegKey=SOFTWARE\HWiNFO64\VSB
;RegValue=Value1
;UpdateDivider=10

[measureRAM]
Measure=PhysicalMemory
UpdateDivider=20

[MeasurePhysMemTotal]
Measure=PhysicalMemory
Total=1
UpdateDivider=20

[MeasurePhysMemFree]
Measure=PhysicalMemory
InvertMeasure=1
UpdateDivider=2

[MeasureAccu-HwInfo]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Value3
UpdateDivider=10

[MeasureAccu]
Measure=Plugin
Plugin=PowerPlugin
PowerState=Percent
UpdateDivider=60

[MeasureCharging]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(get-wmiobject win32_battery).batterystatus
OutputType=ANSI
UpdateDivider=10
Substitute="1":"entlaedt","2":"mit Netzteil verbunden","3":"voll geladen","4":"niedrig","5":"kritisch","6":"wird geladen","7":"fast voll geladen","8":"wenig aufgeladen","9":"zu gering geladen"
UpdateDivider=60
OnUpdateAction=[!CommandMeasure MeasureCharging "Run"]

[measureTotalDisk1]
Measure=FreeDiskSpace
Drive=#disk1#
Total=1
UpdateDivider=120

[measureUsedDisk1]
Measure=FreeDiskSpace
Drive=#disk1#
InvertMeasure=1
UpdateDivider=120

[measureFileSystem]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(get-volume -DriveLetter C).FileSystemType
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure measureFileSystem "Run"]

[MeasureIPWeb]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=http://checkip.dyndns.org
RegExp="(?siU)Address: (.*)</body>"
StringIndex=1
Updatedivider=10
DynamicVariables=1

[MeasureIPLan]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=IP_ADDRESS
SysInfoData=Best
DynamicVariables=1

[MeasureMacAddress]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=MAC_ADDRESS
SysInfoData=Best
DynamicVariables=1

[MeasureUserName]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=USER_NAME

[measureNetIn]
Measure=NetIn
NetInSpeed=#maxDownload#

[measureNetOut]
Measure=NetOut
NetOutSpeed=#maxUpload#

; ----------------------------------
; STYLES are used to "centralize" options
; ----------------------------------

[MeasureAdapter_Alias]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=ADAPTER_ALIAS
SysInfoData=Best
DynamicVariables=1
Substitute="LAN-Verbindung":"OPN VPN"

[MeasurePing]
Measure=Plugin
Plugin=PingPlugin
UpdateRate=1
DestAddress=www.google.com

[MeasureDNS_Server]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=DNS_Server
SysInfoData=Best
DynamicVariables=1

[MeasureGatewayAddress]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DefaultIPGateway).DefaultIPGateway
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureGatewayAddress "Run"]

[MeasureSubnetmask]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=Net_Mask
SysInfoData=Best
DynamicVariables=1

[MeasureOS]
Measure=Plugin
Plugin=Plugins\SysInfo.dll
SysInfoType=OS_Version

[MeasureDNSSuffix]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DNSDOMAIN).DNSDOMAIN
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureDNSSuffix "Run"]

[MeasureDHCP_Server]
Measure=Plugin
Plugin=RunCommand
Program=PowerShell
Parameter=(Get-WMIObject -Class Win32_NetworkAdapterConfiguration -Property DHCPServer).DHCPServer
OutputType=ANSI
UpdateDivider=10
OnUpdateAction=[!CommandMeasure MeasureDHCP_Server "Run"]

; ----------------------------------
; Styles: Angaben zum Aussehen und zur Vereinheitlichung
; ----------------------------------
[styleTitle]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=16
AntiAlias=1
ClipString=1

[styleTitle2]
StringAlign=Center
StringCase=Upper
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,50
FontColor=#colorText#
FontFace=#fontName#
FontSize=12
AntiAlias=1
ClipString=1

[styleLeftText]
StringAlign=Left
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleRightText]
StringAlign=Right
StringCase=None
StringStyle=Bold
StringEffect=Shadow
FontEffectColor=0,0,0,20
FontColor=#colorText#
FontFace=#fontName#
FontSize=#textSize#
AntiAlias=1
ClipString=1

[styleBar]
BarColor=#colorBar#
BarOrientation=HORIZONTAL
SolidColor=255,255,255,15

[styleSeperator]
SolidColor=255,255,251,15

; ----------------------------------
; METERS: Angaben für Graphen, Ausrichtung Anzeigetext
; ----------------------------------

[meterTitle]
Meter=String
MeterStyle=styleTitle
X=100
Y=3R
W=190
H=25
Text=Systeminfos
LeftMouseUpAction=[!CommandMeasure SystemInfosSlider "Execute #SystemInfosState#"]
MiddleMouseUpAction=[!SetVariable Mode (1-#Mode#)]
DynamicVariables=1

[SystemInfosContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#SystemInfosOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=23r
DynamicVariables=1

[meterSeperator]
;white Linie
Meter=Image
Container=SystemInfosContainer
MeterStyle=styleSeperator
X=10
Y=((1-#Mode#)*(Trunc(#SystemInfosOffSet#)-#SystemInfosOffSetMax#))r
W=190
H=1
DynamicVariables=1

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

[meterTitlePCSpecs]
Meter=String
MeterStyle=styleTitle2
X=100
Y=4R
W=190
H=25
Text=PC Specs
LeftMouseUpAction=[!CommandMeasure PCSpecsSlider "Execute #PCSpecsState#"]
DynamicVariables=1

[PCSpecsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#PCSpecsOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[meterUser_Name]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=((1-#Mode#)*(Trunc(#PCSpecsOffSet#)-#PCSpecsOffSetMax#))r
W=190
H=14
Text=User Name
DynamicVariables=1

[MeterUser_Name_Text]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureUserName
X=200
Y=0r
W=190
H=14
Text=%1

[MeterOS]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=OS

[MeterOSText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureOS
X=200
Y=0r
W=190
H=14

[MeterCPUName]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=CPU

[MeterCPUNameText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureCPUName
X=200
Y=0r
W=190
H=14

[meterLabelCPU]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=CPU Usage

[meterValueCPU]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureCPU
X=200
Y=0r
W=190
H=14
Text=%1%

[meterBarCPU]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureCPU
X=10
Y=12r
W=190
H=1

;[MeterCPUMaxTemp]
;Meter=String
Container=PCSpecsContainer
;MeterStyle=styleLeftText
;X=10
;Y=15r
;W=190
;H=14
;Text=CPU Temperatur

;[MeterMaxCPUTempText]
;Meter=String
Container=PCSpecsContainer
;MeterStyle=styleRightText
;MeasureName=MeasureCPUMaxTemp
;X=200
;Y=0r
;W=190
;H=14

[MeterHarddrive]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Festplatte

[MeterFileSystemText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureFileSystem
X=200
Y=0r
W=190
H=14

[meterLabelDisk1]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=#disk1#\

[meterValueDisk1]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureUsedDisk1
MeasureName2=measureTotalDisk1
X=200
Y=0r
W=190
H=14
Text=%1B/%2B used
NumOfDecimals=1
AutoScale=1
LeftMouseUpAction=["#disk1#\"]

[meterBarDisk1]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureUsedDisk1
X=10
Y=12r
W=190
H=1

[MeterRamText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
MeasureName=MeasurePhysMemTotal
MeasureName2=MeasurePhysMemFree
AntiAlias=1
NumOfDecimals=1
AutoScale=1
X=10
Y=15r
W=190
H=14
Text="RAM Total: %1B | Free: %2B"

[meterLabelRAM]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=RAM Usage

[meterValueRAM]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=measureRAM
X=200
Y=0r
W=190
H=14
Text=%1%
Percentual=1


[meterBarRAM]
Meter=Bar
Container=PCSpecsContainer
MeterStyle=styleBar
MeasureName=measureRAM
X=10
Y=12r
W=190
H=1

[MeterAccu]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=10r
W=190
H=14
Text=Akkustand

[MeterAccuText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureAccu
X=200
Y=0r
W=190
H=14
Text=%1%

[MeterCharging]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Ladezustand

[MeterChargingText]
Meter=String
Container=PCSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureCharging
X=200
Y=0r
W=190
H=14

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

[meterTitleNetworkSpecs]
Meter=String
MeterStyle=styleTitle2
X=100
Y=0R
W=190
H=20
Text=Network Specs
LeftMouseUpAction=[!CommandMeasure NetworkSpecsSlider "Execute #NetworkSpecsState#"]
DynamicVariables=1

[NetworkSpecsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#NetworkSpecsOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[meterAdapter_Alias]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=((1-#Mode#)*(Trunc(#NetworkSpecsOffSet#)-#NetworkSpecsOffSetMax#))r
W=190
H=14
Text=Adapter
DynamicVariables=1

[MeterAdapterText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureAdapter_Alias
X=200
Y=0r
W=190
H=14

[meterMacAddress]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=MAC Address

[MeterMacText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureMacAddress
X=200
Y=0r
W=190
H=14

[meterIPLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=IP Address Lan

[MeterLANIPText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureIPLan
X=200
Y=0r
W=190
H=14
Text=%1

[meterIPWanLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=IP Address WAN

[MeterWANIPText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureIPWeb
X=200
Y=0r
W=190
H=14
Text=%1

[MeterDNSDomain]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DNS Domain

[MeterDNSDomainText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDNSSuffix
X=200
Y=0r
W=190
H=14

[MeterDNS_Server]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DNS Server

[MeterDNS_ServerText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDNS_Server
X=200
Y=0r
W=190
H=14

[MeterSubnetmask]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Subnet

[MeterSubnetmaskText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureSubnetmask
X=200
Y=0r
W=190
H=14

[MeterGateway]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Gateway

[MeterGatewayText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureGatewayAddress
X=200
Y=0r
W=190
H=14

[MeterDHCP_Server]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=DHCP Server

[MeterDHCP_ServerText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasureDHCP_Server
X=200
Y=0r
W=190
H=14

[MeterPing]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Ping

[MeterPingText]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=MeasurePing
Text=%1 ms | to Google.com
X=200
Y=0r
W=190
H=14

[meterUploadLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Upload

[meterUploadValue]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=measureNetOut
X=200
Y=0r
W=190
H=14
Text=%1B/s
NumOfDecimals=1
AutoScale=1

[meterUploadBar]
Meter=Bar
Container=NetworkSpecsContainer
MeterStyle=styleBar
MeasureName=measureNetOut
X=10
Y=12r
W=190
H=1

[meterDownloadLabel]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleLeftText
X=10
Y=10r
W=190
H=14
Text=Download

[meterDownloadValue]
Meter=String
Container=NetworkSpecsContainer
MeterStyle=styleRightText
MeasureName=measureNetIn
X=200
Y=0r
W=190
H=14
Text=%1B/s
NumOfDecimals=1
AutoScale=1

[meterDownloadBar]
Meter=Bar
Container=NetworkSpecsContainer
MeterStyle=styleBar
MeasureName=measureNetIn
X=10
Y=12r
W=190
H=1

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

[meterTitleShortcuts]
Meter=String
MeterStyle=styleTitle2
X=100
Y=0R
W=190
H=20
Text=ShortCuts
LeftMouseUpAction=[!CommandMeasure ShortcutsSlider "Execute #ShortcutsState#"]
DynamicVariables=1

[ShortcutsContainer]
Meter=Shape
Shape=Rectangle 0,0,210,(Trunc(#ShortcutsOffSet#)) | Fill Color 0,0,0,255 | StrokeWidth 0
X=0
Y=20r
DynamicVariables=1

[MeterDesktop]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=((1-#Mode#)*(Trunc(#ShortcutsOffSet#)-#ShortcutsOffSetMax#))r
W=190
H=14
Text=Desktop
LeftMouseDownAction=[Shell:::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
DynamicVariables=1

[MeterSystem]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=System
LeftMouseDownAction=[Shell:::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}]

[MeterDeviceManager]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Device Manager
LeftMouseDownAction=[Shell:::{74246bfc-4c96-11d0-abef-0020af6b0b7a}]

[MeterNetworkConnection]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Netzwerkverbindung
LeftMouseUpAction=[Shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}]

[MeterControlPanel]
Meter=String
Container=ShortcutsContainer
MeterStyle=styleLeftText
X=10
Y=20r
W=190
H=14
Text=Systemsteuerung
LeftMouseUpAction=[Shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}]
Basically, it worked alright before as well, it's just that it had some glitches related to the fractional values resulted from dividing the maximum offsets to the steps value in the sliders. In other words, the fractional part of the offset made the moving of the skin to lack precision since on one hand Shape measures (like the containers) tolerate fractional values as dimensions and on the other hand moving and positioning the skin works only with integer values. More or less, the fractional parts kept adding up to a point where the result didn't match the integer version of it.

In short, there are some integer values used in the fourth and fifth steps you mentioned above (see functions in formulas) instead of fractional in order to keep the dimension changes as integers, a new variable called LastOffset which holds the last value of an offset (any offset, by the way), another variable called Mode which stores whether the expanding is done downwards (Mode=0) or upwards (Mode=1) and can be toggled by middle clicking on the SystemInfos title, plus properly using these variables as integers to move the skin by the difference between the last and the current value of an offset. You might want to take a look at the skin position variables and the notes from nesting variables to understand why I used them and their syntax (i.e. to get skin position with the built in variables, and to get the current value of variables from the same bang with nested syntax).
sorry for not replying until now, but I'm only now back at the computer where I can test Rainmeter. Thank you so much, this really gets me moving! I will now deal with it in more detail so that I can also manage to find solutions myself.