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:
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.
Could anybody help me, to get this slider work or has an idea how I could get it to work?
Thanks for your help.
It is currently May 2nd, 2024, 11:54 pm
Minimal Systeminfo + Slider
-
- Posts: 5
- Joined: February 8th, 2022, 7:06 am
Minimal Systeminfo + Slider
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.
-
- Rainmeter Sage
- Posts: 7190
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Minimal Systeminfo + Slider
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: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.
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}]
- 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
- 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.
-
- Posts: 5
- Joined: February 8th, 2022, 7:06 am
Re: Minimal Systeminfo + Slider
@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
which specifies the maximum window length.
second step
a slider for each title
third step
put the LeftMouseUpAction in the title
fourth step
creating a container for each specs title, which will include the meters in step five
fifth step
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.
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
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
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
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
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
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.
-
- Rainmeter Sage
- Posts: 7190
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Minimal Systeminfo + Slider
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!
-
- Rainmeter Sage
- Posts: 7190
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Minimal Systeminfo + Slider
Yes, you understood that perfectly - well done!
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
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.
-
- Posts: 5
- Joined: February 8th, 2022, 7:06 am
Re: Minimal Systeminfo + Slider
I try to explain it, with pictures. XD
if I click on any title, the specs sliding down: -> so when I put Rainmeter to a the taskbar, everything drops down (into the nirvana) -> In order for this not to happen, I would have to change direction.
if I click on any title, the specs sliding down: -> so when I put Rainmeter to a the taskbar, everything drops down (into the nirvana) -> 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.
-
- Rainmeter Sage
- Posts: 7190
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Minimal Systeminfo + Slider
Yep, I eventually realized what you meant, and edited my previous reply accordingly, see above.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.
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...
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.
-
- Posts: 5
- Joined: February 8th, 2022, 7:06 am
Re: Minimal Systeminfo + Slider
Thank you so much!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...
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.
-
- Rainmeter Sage
- Posts: 7190
- Joined: February 27th, 2015, 2:38 pm
- Location: Terra Yincognita
Re: Minimal Systeminfo + Slider
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}]
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.
-
- Posts: 5
- Joined: February 8th, 2022, 7:06 am
Re: Minimal Systeminfo + Slider
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.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: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.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}]
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).