It is currently June 17th, 2019, 5:45 pm

Help me make it perfect (found almost ideal skin)

Help with creating, editing & fixing problems with skins
Gorstak79
Posts: 1
Joined: January 13th, 2019, 1:52 am

Help me make it perfect (found almost ideal skin)

Gorstak79 » January 13th, 2019, 2:00 am

This is the skin link:

https://www.deviantart.com/stormknightuk/art/SK-Neon-Meters-1-1-659555408?

I want to add 2 things to this skin, to make it perfect. If someone can do it, then my quest for perfect skin is finished.

1) First, when I use integrated gpu, like my intel hd 610, I get an error.

Looks like this:

Image

2) I want automatic detection of drives and increase of boxes accordingly. Atm, it doesn't detect anything, and uses preconfigured C and D drive.

If anyone is willing to make this skin perfect, that'd be awesome.

This is the skin code with a few of my own modifications ( I have replaced gpu temp with cpu temp, and I use usagemonitor plugin to display gpu usage):

Code: Select all

[Rainmeter]
Update=1000
OnRefreshAction=[!AutoSelectScreen "1"]	-- This is critical for multiple monitor set-up

[Metadata]
Name=SK Neon Meters
Author=Stormknight
Information=Displays system information across top of the screen in dynamic sized meters.
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0
Version=1.0

[Variables]
Page=1;
@Include=Config\Styles.inc
@Include2=Config\Config.inc

; Defines the number of boxes across the screen - useful for the different versions.
; This is the STANDARD version with 10 boxes.
BoxQty = 10
; This is mostly positioning calculations, as they just wouldn't work when performed inline as part of the shape command etc. :(
BoxWidth=(#WORKAREAWIDTH#-(#BoxQty#*10)-30)/#BoxQty#
BoxPos1 = 20
BoxPos2 = #BoxWidth#+30
BoxPos3 = (2*#BoxWidth#)+40
BoxPos4 = (3*#BoxWidth#)+50
BoxPos5 = (4*#BoxWidth#)+60
BoxPos6 = (5*#BoxWidth#)+70
BoxPos7 = (6*#BoxWidth#)+80
BoxPos8 = (7*#BoxWidth#)+90
BoxPos9 = (8*#BoxWidth#)+100
BoxPos10 = (9*#BoxWidth#)+110
BGRight1 = (#WORKAREAWIDTH#-230)
BGRight2 = (#WORKAREAWIDTH#-270)
BGLeft1 = 270
BGLeft2 = 320

; ====================================
; ========= BACKGROUND BAR ===========
; ====================================
; Default horizontal panel to host the various graphs.
[MeterBackgroundShape]
Meter=Shape
X=0
Y=0
; Create a translucent gradient that fades from dark grey at the bottom to black at the top.
MyFillGradient=90 | 20,20,20,150 ; 0.0 | 20,20,20,150 ; 0.5 | 0,0,0,200 ; 1.0
Shape=Path BGPath  | StrokeWidth 3 | Stroke Color 0,0,0,200 | Fill LinearGradient MyFillGradient
; Define the shape as a path, rather than a rectangle as it's more flexible.
BGPath=0,0 | LineTo #WORKAREAWIDTH#,0 | LineTo #WORKAREAWIDTH#,166 | LineTo #BGRight1#,166 | LineTo #BGRight2#,100 | LineTo #BGLeft2#,100 | LineTo #BGLeft1#,210 | LineTo 0,210 | LineTo 0,0 | ClosePath 1
UpdateDivider=-1

; ====================================
; ========== BOX 1 - GPU FAN =========
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox1]
Meter=Shape
Shape=Rectangle #BoxPos1#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #GPUcolor#,255

; This is the text label above the graph.
[MeterLabelBox1]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos1#
Y=0
Text="GPU Fan"

; Gets data from the HWiNFO plugin - this is GPU FAN.
[MeasureDataBox1]
Measure=Plugin
Plugin=HWiNFO.dll
HWiNFOSensorId=#CPUFANSensorId#
HWiNFOSensorInstance=#CPUFANSensorInstance#
HWiNFOEntryId=#CPUFANEntryId#
HWiNFOType=CurrentValue
MinValue=0
MaxValue=100

[MeterGraphLineBox1]
Meter=Line
MeasureName=MeasureDataBox1
X=#BoxPos1#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#GPUcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox1]
Meter=Histogram
MeasureName=MeasureDataBox1
X=#BoxPos1#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#GPUcolor#,60
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox1]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox1
X=(#BoxWidth#/2)+#BoxPos1#
Y=75
Scale=1
NumOfDecimals=0
Text="%1%"


; ====================================
; ========== BOX 2 - GPU TEMP =========
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox2]
Meter=Shape
Shape=Rectangle #BoxPos2#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #GPUcolor#,255

; This is the text label above the graph.
[MeterLabelBox2]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos2#
Y=0
Text="GPU Temp"

; Gets data from the HWiNFO plugin - this is GPU TEMP.
[MeasureDataBox2]
Measure=Plugin
Plugin=HWiNFO.dll
HWiNFOSensorId=#CPUTEMPSensorId#
HWiNFOSensorInstance=#CPUTEMPSensorInstance#
HWiNFOEntryId=#CPUTEMPEntryId#
HWiNFOType=CurrentValue
MinValue=0
MaxValue=100
AverageSize=2		-- Smoothing

[MeterGraphLineBox2]
Meter=Line
MeasureName=MeasureDataBox2
X=#BoxPos2#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#GPUcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox2]
Meter=Histogram
MeasureName=MeasureDataBox2
X=#BoxPos2#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#GPUcolor#,60
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox2]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox2
X=(#BoxWidth#/2)+#BoxPos2#
Y=75
Scale=1
NumOfDecimals=0
Text="%1°C"


; ====================================
; ========== BOX 3 - GPU LOAD ========
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox3]
Meter=Shape
Shape=Rectangle #BoxPos3#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #GPUcolor#,255

; This is the text label above the graph.
[MeterLabelBox3]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos3#
Y=0
Text="GPU Load"

; Gets data from the usagemonitor plugin - this is GPU LOAD.
[MeasureDataBox3]
Measure=Plugin
Plugin=UsageMonitor
Alias=GPU
Index=1
MinValue=0
MaxValue=100

[MeterGraphLineBox3]
Meter=Line
MeasureName=MeasureDataBox3
X=#BoxPos3#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#GPUcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox3]
Meter=Histogram
MeasureName=MeasureDataBox3
X=#BoxPos3#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#GPUcolor#,60
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox3]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox3
X=(#BoxWidth#/2)+#BoxPos3#
Y=75
Scale=1
NumOfDecimals=0
Text=[MeasureDataBox3:1]%


; ====================================
; ========== BOX 4 - CPU TEMP ========
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox4]
Meter=Shape
Shape=Rectangle #BoxPos4#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #CPUcolor#,255

; This is the text label above the graph.
[MeterLabelBox4]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos4#
Y=0
Text="CPU Temp"

; Gets data from the HWiNFO plugin - this is CPU TEMP.
[MeasureDataBox4]
Measure=Plugin
Plugin=HWiNFO.dll
HWiNFOSensorId=#CPUTEMPSensorId#
HWiNFOSensorInstance=#CPUTEMPSensorInstance#
HWiNFOEntryId=#CPUTEMPEntryId#
HWiNFOType=CurrentValue
MinValue=0
MaxValue=100
AverageSize=2		-- Smoothing

[MeterGraphLineBox4]
Meter=Line
MeasureName=MeasureDataBox4
X=#BoxPos4#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#CPUcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox4]
Meter=Histogram
MeasureName=MeasureDataBox4
X=#BoxPos4#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#CPUcolor#,60
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox4]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox4
X=(#BoxWidth#/2)+#BoxPos4#
Y=75
Scale=1
NumOfDecimals=0
Text="%1°C"

; ====================================
; ========== BOX 5 - CPU LOAD ========
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox5]
Meter=Shape
Shape=Rectangle #BoxPos5#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #CPUcolor#,255

; This is the text label above the graph.
[MeterLabelBox5]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos5#
Y=0
Text="CPU Load"

; Gets data from the rainmeter - this is CPU LOAD.
[MeasureDataBox5]
Measure=CPU

[MeterGraphLineBox5]
Meter=Line
MeasureName=MeasureDataBox5
X=#BoxPos5#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#CPUcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox5]
Meter=Histogram
MeasureName=MeasureDataBox5
X=#BoxPos5#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#CPUcolor#,60
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox5]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox5
X=(#BoxWidth#/2)+#BoxPos5#
Y=75
Scale=1
NumOfDecimals=0
Text="%1%"

; ====================================
; ========== BOX 6 - MEMORY ==========
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox6]
Meter=Shape
Shape=Rectangle #BoxPos6#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #MEMcolor#,255

; This is the text label above the graph.
[MeterLabelBox6]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos6#
Y=0
Text="Memory"

; Gets data from the rainmeter - this is MEMORY.
[MeasureDataBox6]
Measure=PhysicalMemory
UpdateDivider=2

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

[MeterGraphLineBox6]
Meter=Line
MeasureName=MeasureDataBox6
X=#BoxPos6#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#MEMcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox6]
Meter=Histogram
MeasureName=MeasureDataBox6
X=#BoxPos6#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#MEMcolor#,60
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox6]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox6
MeasureName2=MeasurePhysMemTotal
X=(#BoxWidth#/2)+#BoxPos6#
Y=75
AutoScale=1
NumOfDecimals=1
Text="%1B / %2B"


; ====================================
; ========== BOX 7 - NETWORK IN ======
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox7]
Meter=Shape
Shape=Rectangle #BoxPos7#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #NETcolor#,255

; This is the text label above the graph.
[MeterLabelBox7]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos7#
Y=0
Text="Network In"

; Gets data from the rainmeter - this is NETWORK.
[MeasureDataBox7]
Measure=NetIn
Interface=Best
UpdateDivider=2

[MeterGraphLineBox7]
Meter=Line
MeasureName=MeasureDataBox7
X=#BoxPos7#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#NETcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
AutoScale=1
GraphOrientation=Vertical

[MeterHistogramBox7]
Meter=Histogram
MeasureName=MeasureDataBox7
X=#BoxPos7#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#NETcolor#,60
AntiAlias=1
AutoScale=1
GraphOrientation=Vertical

[MeterDataTextBox7]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox7
X=(#BoxWidth#/2)+#BoxPos7#
Y=75
AutoScale=1
NumOfDecimals=1
Text="%1"

; ====================================
; ========== BOX 8 - NETWORK OUT =====
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox8]
Meter=Shape
Shape=Rectangle #BoxPos8#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #NETcolor#,255

; This is the text label above the graph.
[MeterLabelBox8]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos8#
Y=0
Text="Network Out"

; Gets data from the rainmeter - this is NETWORK.
[MeasureDataBox8]
Measure=NetOut
Interface=Best
UpdateDivider=2

[MeterGraphLineBox8]
Meter=Line
MeasureName=MeasureDataBox8
X=#BoxPos8#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#NETcolor#,255
SolidColor=#BACKcolor#
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox8]
Meter=Histogram
MeasureName=MeasureDataBox8
X=#BoxPos8#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#NETcolor#,60
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox8]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox8
X=(#BoxWidth#/2)+#BoxPos8#
Y=75
AutoScale=1
NumOfDecimals=1
Text="%1"

; ====================================
; ========== BOX 9 - DRIVE C: ========
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox9]
Meter=Shape
Shape=Rectangle #BoxPos9#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #HDDcolor#,255

; This is the text label above the graph.
[MeterLabelBox9]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos9#
Y=0
Text="Drive C:"

; Gets data from the Perfmon plugin - this is NETWORK.
[MeasureDataPerfmonDriveC]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="% Disk Time"
PerfMonInstance=C:
OnUpdateAction=[!UpdateMeasure MeasureDataBox9]

[MeasureDataBox9]
; Returns scaled down [MeasureDiskAccessC] measurement that represents the percent of time the given disk is processing read or write requests.
Measure=Calc
Formula=((MeasureDataPerfmonDriveC/100000) < 100 ? (MeasureDataPerfmonDriveC/100000) : 100)
MaxValue=100
MinValue=0
UpdateDivider=-1

[MeterGraphLineBox9]
Meter=Line
MeasureName=MeasureDataBox9
X=#BoxPos9#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#HDDcolor#,255
SolidColor=#BACKcolor#
MaxValue=100
MinValue=0
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox9]
Meter=Histogram
MeasureName=MeasureDataBox9
X=#BoxPos9#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#HDDcolor#,60
MaxValue=100
MinValue=0
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox9]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox9
X=(#BoxWidth#/2)+#BoxPos9#
Y=75
AutoScale=1
NumOfDecimals=0
Text="%1%"

; ====================================
; ========== BOX 10 - DRIVE D: =======
; ====================================

; This is the rectangle that each graph sits within.
[MeterOutlineBox10]
Meter=Shape
Shape=Rectangle #BoxPos10#,22,#BoxWidth#,50 | Fill Color 0,0,0,0 | StrokeWidth 1 | Stroke Color #HDDcolor#,255

; This is the text label above the graph.
[MeterLabelBox10]
Meter=String
MeterStyle=StyleGraphLabels
X=(#BoxWidth#/2)+#BoxPos10#
Y=0
Text="Drive D:"

; Gets data from the Perfmon plugin - this is NETWORK.
[MeasureDataPerfmonDriveD]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter="% Disk Time"
PerfMonInstance=D:
OnUpdateAction=[!UpdateMeasure MeasureDataBox10]

[MeasureDataBox10]
; Returns scaled down [MeasureDiskAccessD] measurement that represents the percent of time the given disk is processing read or write requests.
Measure=Calc
Formula=((MeasureDataPerfmonDriveD/100000) < 100 ? (MeasureDataPerfmonDriveD/100000) : 100)
MaxValue=100
MinValue=0
UpdateDivider=-1

[MeterGraphLineBox10]
Meter=Line
MeasureName=MeasureDataBox10
X=#BoxPos10#
Y=22
W=#BoxWidth#
H=50
LineCount=1
LineColor=#HDDcolor#,255
SolidColor=#BACKcolor#
MaxValue=100
MinValue=0
AntiAlias=1
LineWidth=2
GraphOrientation=Vertical

[MeterHistogramBox10]
Meter=Histogram
MeasureName=MeasureDataBox10
X=#BoxPos10#
Y=22
W=#BoxWidth#
H=50
PrimaryColor=#HDDcolor#,60
MaxValue=100
MinValue=0
AntiAlias=1
GraphOrientation=Vertical

[MeterDataTextBox10]
Meter=String
MeterStyle=StyleGraphData
MeasureName=MeasureDataBox10
X=(#BoxWidth#/2)+#BoxPos10#
Y=75
AutoScale=1
NumOfDecimals=0
Text="%1%"


; ====================================
; ========== DATE & CLOCK ============
; ====================================

[MeasureDate]
Measure=Time
Format=%a %d %B
substitute="01":"1st","02":"2nd","03":"3rd","04":"4th","05":"5th","06":"6th","07":"7th","08":"8th","09":"9th","10":"10th","11":"11th","12":"12th","13":"13th","14":"14th","15":"15th","16":"16th","17":"17th","18":"18th","19":"19th","20":"20th","21":"21st","22":"22nd","23":"23rd","24":"24th","25":"25th","26":"26th","27":"27th","28":"28th","29":"29th","30":"30th","31":"31st"

[MeterDate]
Meter=String
MeterStyle=StyleDate
MeasureName=MeasureDate
X=10
Y=100
W=700
;Text="Wed 31st September"		-- for test

[MeasureTime]
Measure=Time
Format=#ClockFormat#

[MeterTime]
Meter=String
MeterStyle=StyleTime
MeasureName=MeasureTime
X=5
Y=125

; ====================================
; ========== ADDITIONAL TEXT =========
; ====================================

; System Uptime
[MeasureSystemUptime]
Measure=UpTime
Format="%4!i! days, %3!i! hours, %2!i! minutes"
UpdateDivider=30

[MeterSystemUptimeText]
Meter=String
MeterStyle=StyleAdditional
MeasureName=MeasureSystemUptime
X=(#WORKAREAWIDTH#)-5
Y=100
Text="Uptime: %1"

; Graphics card
[MeasureGPUName]
Measure=Plugin
Plugin=HWiNFO.dll
HWiNFOSensorId=#GPUTEMPSensorId#
HWiNFOSensorInstance=#GPUTEMPSensorInstance#
HWiNFOType=SensorName
HWiNFOLogHandler=3
RegExpSubstitute=1
Substitute="^(.*]: )":"","(: .*)$":""
UpdateDivider=30

[MeterGPUName]
Meter=String
X=(#WORKAREAWIDTH#)-5
Y=120
MeterStyle=StyleAdditional
MeasureName=MeasureGPUName
Text="%1"

; Processor
[MeasureProcessorName]
Measure=Plugin
Plugin=HWiNFO.dll
HWiNFOSensorId=#CPUTEMPSensorId#
HWiNFOSensorInstance=#CPUTEMPSensorInstance#
HWiNFOType=SensorName
HWiNFOLogHandler=3
RegExpSubstitute=1
Substitute="^(.*]: )":"","(: .*)$":""
UpdateDivider=30

[MeterProcessorName]
Meter=String
X=(#WORKAREAWIDTH#)-5
Y=140
MeterStyle=StyleAdditional
MeasureName=MeasureProcessorName
Text="%1"

Yincognito
Posts: 652
Joined: February 27th, 2015, 2:38 pm

Re: Help me make it perfect (found almost ideal skin)

Yincognito » January 16th, 2019, 7:33 pm

Gorstak79 wrote:
January 13th, 2019, 2:00 am
I want to add 2 things to this skin, to make it perfect. If someone can do it, then my quest for perfect skin is finished.
This is approached like this on the Rainmeter forum, as far as I know.
Gorstak79 wrote:
January 13th, 2019, 2:00 am
1) First, when I use integrated gpu, like my intel hd 610, I get an error.
You have to make sure that the options and variables like those below (and others similar) are correctly identified so that the HWiNFO plugin can use those IDs/instances to share info on your CPU/GPU with Rainmeter:

Code: Select all

HWiNFOSensorId=#CPUFANSensorId#
HWiNFOSensorInstance=#CPUFANSensorInstance#
HWiNFOEntryId=#CPUFANEntryId#
Check the info here (or the related pages) to familiarize yourself with those IDs and how you can find them, or check the C:\Users\[your username]\Documents\Rainmeter\Skins\SK Neon Meters\@Resources\Readme.txt and C:\Users\[your username]\Documents\Rainmeter\Skins\SK Neon Meters\Meters\Config\Config.inc files on your computer and use any text editor to replace the IDs in the latter file with the IDs you got by following the instructions at the link I provided or the readme above. So basically, you'd have to replace the values that are used in that skin with the ones specific to your case.
Gorstak79 wrote:
January 13th, 2019, 2:00 am
2) I want automatic detection of drives and increase of boxes accordingly. Atm, it doesn't detect anything, and uses preconfigured C and D drive
There is no such thing as an "automatic" detection of drives in Rainmeter. What you can do to achieve something similar though would be to just copy paste the measures and the meters that are involved in showing the drives info (they are commented accordingly in the code you posted, for example the meters and measures for drive C:), change the position of the pasted items by creating new BoxPosN options (where N is a number), calculate the preferred position and associate it with the related option in the code you pasted, and then just change the Text option in MeterLabelBoxN and the PerfMonInstance option in MeasureDataPerfmonDriveN to show and query the rest of the drives (e.g. E:, F:, ... and all the way to Z:, if you want them all). You'll have then one or more new measures/meters that handle the other drives.

Having said that, the "automatic" increase of the number of boxes in relation to the valid drives is somewhat trickier, but you can check if the drive has a total size of 0 bytes in order to see if it's "valid", by adding something like:

Code: Select all

[MS_Rainmeter_ETotal]
Measure=FreeDiskSpace
Drive=E:
Total=1
UpdateDivider=5
somewhere in the code, and append an IfCondition option to the code above, to only show the meters (possibly even enabling the measures) related to any drive that has its total space greater than 0, hiding the meters (possibly even disabling the measures) of the drives whose total space is 0 - something along the line of:

Code: Select all

IfCondition=(MS_Rainmeter_ETotal>0)
IfTrueAction=[!ShowMeter "MeterOutlineBoxN"][!ShowMeter "MeterLabelBoxN"][!ShowMeter "MeterLabelBoxN"][!ShowMeter "MeterGraphLineBoxN"][!ShowMeter "MeterHistogramBoxN"][!ShowMeter "MeterDataTextBoxN"][!EnableMeasure "MeasureDataPerfmonDriveN"][!EnableMeasure "MeasureDataBoxN"]
IfFalseAction=[!HideMeter "MeterOutlineBoxN"][!HideMeter "MeterLabelBoxN"][!HideMeter "MeterLabelBoxN"][!HideMeter "MeterGraphLineBoxN"][!HideMeter "MeterHistogramBoxN"][!HideMeter "MeterDataTextBoxN"][!DisableMeasure "MeasureDataPerfmonDriveN"][!DisableMeasure "MeasureDataBoxN"]
IfConditionMode=1
where N is either the number that identifies the meters used for a specific drive (e.g. 9 for C:, 10 for D:), or the label of the drive, in the case of measures (e.g. MeasureDataPerfmonDriveC, MeasureDataBoxC for the C: drive). Now, of course, for such a thing to run smooth, the meters (and possibly the measures) above should initially be hidden (for meters) or disabled (for measures), by setting Hidden=1 (and possibly Disabled=1 for measures) in the corresponding [Meter] (or [Measure]) sections - so that they don't show or become active when refreshing the skin, unless the size of the drive they interrogate is greater than 0.

I would suggest reading a little on what measures, meters, bangs, IfCondition-s or specific measures like FreeDiskSpace are and how can you use them to do the things you want. It might seem a little difficult, but it's not - just focus on the essential for what you need in this case and once you do this for one drive, you'll know how to do this for all.

Happy playing! ;-)