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:
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"