Last active
June 14, 2025 08:29
-
-
Save pegasusearl/df99fe8364a5e598f9e0bb8e1ee5f2ca to your computer and use it in GitHub Desktop.
I make SystemMonitor widget that I usually use in linux for windows using rainmeter, although thanks to HwInfo I can add even more. The strategy is to show Links widget, and then put this Rainmeter Skin on top of it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ============================== Installation =============================== | |
| # https://gist.github.com/pegasusearl/df99fe8364a5e598f9e0bb8e1ee5f2ca | |
| # This Rainmeter require plugins: | |
| # 1. [IsFullscreen 3.0](https://forum.rainmeter.net/viewtopic.php?t=28305) | |
| # 2. [HwInfo](https://docs.rainmeter.net/tips/hwinfo/) | |
| # you also need to configure hwinfo according to tutorial. | |
| # update every Measure that begins with sHwinfo accordingly. | |
| # You have to manually set Cpu indicator. Make new bar according to the | |
| # amount of CPU core you have. | |
| # Replace YourTotalWidth with the total width of your thing. | |
| # =========================================================================== | |
| # NOTE: | |
| # For Gpu Video Decode value, because it's usually very low, there is option to make the number inflated. (Encode is not) | |
| # CPU and GPU Thermal Limit's bar is starting slow and get fast later. (x**2)/max**2 | |
| # Variable prefixes meaning: | |
| # My = Variable you can edit as you desire | |
| # Your = Variable you have to edit according to your rainmeter skin | |
| # Their = Don't edit these. | |
| # Section prefixes meaning: | |
| # s = Measure | |
| # t = Meter | |
| # C (in front of s) = Calc of that measure | |
| # Hwinfo (after s) = Measure uses Hwinfo | |
| # TODO: | |
| # make cpu core bar dynamic. use [Rainmeter] OnRefreshAction to disable or enable bar during refresh. | |
| # TODO: | |
| # We have so many indicator now, Create thing that toggle them, especially those from Hwinfo. Maybe the id can be set to -1 to disable it. | |
| # TODO: | |
| # for background, replace Bar with Image. https://forum.rainmeter.net/viewtopic.php?t=17834 | |
| [Variables] | |
| YourTotalWidth=380 | |
| # This position is for my taskbar, which is on the top. | |
| # If yours at the bottom, consider: "0" "100%" "0" "100%" | |
| # TODO: However, putting it at the bottom,... still kinda not work. I'm not sure why | |
| MyPosition="0" "0" "0" "0" | |
| # This is comfortable position for Age of Empire II: Definitive Edition and Starcraft 2 | |
| MyFullscreenPosition="63%" "0" "50%" "0" | |
| MyUpdate=500 | |
| MySectionSpacing=5R | |
| MyMarginTop=4 | |
| MyMarginLeft=4 | |
| MyMarginRight=4 | |
| MyMarginBottom=4 | |
| MyHeight=20 | |
| MyWindowsTaskbarOpaque=16,16,16 | |
| MyBackgroundColorFullscreen=0,0,0,120 | |
| MyAccentColorOpaque=131,192,239 | |
| MyAccentThrottledOpaque=239,131,143 | |
| MyDarkAccentColorOpaque=200,60,77 | |
| MyCpuBarSpacing=2R | |
| MyBarBackground=255,255,255,60 | |
| MyBarWidth=5 | |
| MyTextDuRwWidth=52 | |
| # HWinfo is polled every 2 seconds by default. | |
| TheirHwinfoUpdateDivider=(2000/#MyUpdate#) | |
| TheirPingUpdateRate=(1000/#MyUpdate#) | |
| TheirRectangle=Rectangle 0,0,(#YourTotalWidth#+#MyMarginLeft#+#MyMarginRight#),(#MyHeight#+#MyMarginTop#+#MyMarginBottom#) | StrokeWidth 0 | |
| TheirClockWidth=30 | |
| TheirFullRectangle=Rectangle 0,0,(#YourTotalWidth#+#MyMarginLeft#+#MyMarginRight#+(#TheirClockWidth#+20)),(#MyHeight#+#MyMarginTop#+#MyMarginBottom#) | StrokeWidth 0 | |
| TheirTextColor=255,255,255 | |
| TheirAccentColor=#MyAccentColorOpaque#,255 | |
| TheirCpuBarColor=#TheirAccentColor# | |
| TheirGpuBarColor=#TheirAccentColor# | |
| TheirAccentThrottled=#MyAccentThrottledOpaque#,255 | |
| TheirDarkAccentColor=#MyDarkAccentColorOpaque#,255 | |
| TheirProcess1=X | |
| TheirProcessUsage1=0 | |
| TheirProcess2=Y | |
| TheirProcessUsage2=0 | |
| # WARN: HWinfo. Set RegValue according to index. | |
| # It's in the HWiNFO Gadget tab | |
| # Hwinfo entry: CPU (Tctl/Tdie) | |
| [sHwinfoCpuTemp] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw0 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # HWinfo entry: CPU Package Power | |
| [sHwinfoCpuPowerDraw] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw1 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # HWinfo entry: CPU/Thermal Limit | |
| [sHwinfoCpuThermalLimit] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw2 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: CPU/Power Reporting Deviation (Accuracy) | |
| [sHwinfoCpuPowerDeviation] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw3 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: CPU/Thermal Throttling (HTC) | |
| [sHwinfoCpuThermalThrottling] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw4 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: GPU Temperature | |
| [sHwinfoGpuTemp] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw5 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: GPU/Thermal Limit | |
| [sHwinfoGpuThermalLimit] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw6 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # HWinfo entry: GPU Power Total | |
| [sHwinfoGpuPowerDraw] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw7 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: GPU Memory Usage | |
| [sHwinfoGpuVramPercent] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| MaxValue=100 | |
| RegValue=ValueRaw8 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: GPU Video Decode 0 Usage | |
| [sHwinfoGpuDecode] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw9 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: GPU Video Encode 0 Usage | |
| [sHwinfoGpuEncode] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw10 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: GPU/Performance Limit/Thermal | |
| [sHwinfoGpuThermalThrottle] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw11 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: GPU Memory Allocated | |
| [sHwinfoGpuVramAllocated] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw12 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| # Hwinfo entry: Framerate (Displayed) | |
| [sHwinfoFrameRate] | |
| Measure=Registry | |
| RegHKey=HKEY_CURRENT_USER | |
| RegKey=SOFTWARE\HWiNFO64\VSB | |
| RegValue=ValueRaw13 | |
| UpdateDivider=#TheirHwinfoUpdateDivider# | |
| [Rainmeter] | |
| Update=#MyUpdate# | |
| DefaultAlwaysOnTop=2 | |
| # Rectangle to cover taskbar text below the rainmeter skin. I want to make it disappear on fullscreen. | |
| # These conditional config is made by Cariboudjan https://forum.rainmeter.net/viewtopic.php?p=187538#p187538 | |
| [MeasureIsFullScreen] | |
| Measure=Plugin | |
| Plugin=IsFullScreen | |
| OnChangeAction=[!UpdateMeasure MeasureCheckProcess] | |
| # | |
| [MeasureCheckProcess] | |
| Measure=String | |
| String=[MeasureIsFullScreen:][MeasureIsFullScreen] | |
| IfMatch=(?is)1Explorer.exe|0.* | |
| IfMatchAction=[!SetOption "tRectangleBackground" "Shape" "#TheirRectangle# | Fill Color #MyWindowsTaskbarOpaque#"][!HideMeter tClock][!SetWindowPosition #MyPosition#] | |
| IfNotMatchAction=[!SetOption "tRectangleBackground" "Shape" "#TheirFullRectangle# | Fill Color #MyBackgroundColorFullscreen#"][!ShowMeter tClock][!SetWindowPosition #MyFullscreenPosition#] | |
| DynamicVariables=1 | |
| # Conditional end..... | |
| [tRectangleBackground] | |
| Meter=Shape | |
| # RAM INDICATOR | |
| [sRamUsed] | |
| Measure=PhysicalMemory | |
| [sRamFree] | |
| Measure=PhysicalMemory | |
| InvertMeasure=1 | |
| [tRamUsed] | |
| Meter=Roundline | |
| MeasureName=sRamUsed | |
| X=#MyMarginLeft# | |
| Y=#MyMarginTop# | |
| W=#MyHeight# | |
| H=#MyHeight# | |
| StartAngle=4.712 | |
| RotationAngle=6.283 | |
| LineLength=(#MyHeight#/2) | |
| LineColor=#TheirTextColor# | |
| Solid=1 | |
| AntiAlias=1 | |
| [tRamFree] | |
| Meter=Roundline | |
| MeasureName=sRamFree | |
| X=0r | |
| Y=#MyMarginTop# | |
| W=#MyHeight# | |
| H=#MyHeight# | |
| StartAngle=4.712 | |
| RotationAngle=-6.283 | |
| LineLength=(#MyHeight#/2) | |
| LineColor=#MyBarBackground# | |
| Solid=1 | |
| AntiAlias=1 | |
| # CPU INDICATOR | |
| [sCpu1] | |
| Measure=CPU | |
| Processor=1 | |
| [sCpu2] | |
| Measure=CPU | |
| Processor=2 | |
| [sCpu3] | |
| Measure=CPU | |
| Processor=3 | |
| [sCpu4] | |
| Measure=CPU | |
| Processor=4 | |
| [sCpu5] | |
| Measure=CPU | |
| Processor=5 | |
| [sCpu6] | |
| Measure=CPU | |
| Processor=6 | |
| [CsCpuThrottle] | |
| Measure=Calc | |
| Formula=1 | |
| IfCondition=(sHwinfoCpuThermalThrottling = 0) | |
| IfTrueAction=[!SetVariable "TheirCpuBarColor" #TheirAccentColor#] | |
| IfFalseAction=[!SetVariable "TheirCpuBarColor" #TheirAccentThrottled#] | |
| [tCpu1] | |
| Meter=BAR | |
| MeasureName=sCpu1 | |
| X=#MySectionSpacing#R | |
| Y=#MyMarginTop# | |
| W=#MyBarWidth# | |
| H=#MyHeight# | |
| DynamicVariables=1 | |
| BarColor=#TheirCpuBarColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Vertical | |
| [tCpu2] | |
| Meter=BAR | |
| MeasureName=sCpu2 | |
| X=#MyCpuBarSpacing# | |
| Y=#MyMarginTop# | |
| W=#MyBarWidth# | |
| H=#MyHeight# | |
| DynamicVariables=1 | |
| BarColor=#TheirCpuBarColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Vertical | |
| [tCpu3] | |
| Meter=BAR | |
| MeasureName=sCpu3 | |
| X=#MyCpuBarSpacing# | |
| Y=#MyMarginTop# | |
| W=#MyBarWidth# | |
| H=#MyHeight# | |
| DynamicVariables=1 | |
| BarColor=#TheirCpuBarColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Vertical | |
| [tCpu4] | |
| Meter=BAR | |
| MeasureName=sCpu4 | |
| X=#MyCpuBarSpacing# | |
| Y=#MyMarginTop# | |
| W=#MyBarWidth# | |
| H=#MyHeight# | |
| DynamicVariables=1 | |
| BarColor=#TheirCpuBarColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Vertical | |
| [tCpu5] | |
| Meter=BAR | |
| MeasureName=sCpu5 | |
| X=#MyCpuBarSpacing# | |
| Y=#MyMarginTop# | |
| W=#MyBarWidth# | |
| H=#MyHeight# | |
| DynamicVariables=1 | |
| BarColor=#TheirCpuBarColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Vertical | |
| [tCpu6] | |
| Meter=BAR | |
| MeasureName=sCpu6 | |
| X=#MyCpuBarSpacing# | |
| Y=#MyMarginTop# | |
| W=#MyBarWidth# | |
| H=#MyHeight# | |
| DynamicVariables=1 | |
| BarColor=#TheirCpuBarColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Vertical | |
| # CPU POWER | |
| ## temp | |
| [CsCpuTempBar] | |
| Measure=Calc | |
| ; Formula=((sHwinfoCpuThermalLimit-50)/50) | |
| Formula=((sHwinfoCpuThermalLimit**2)/10000) | |
| [tCpuTempBar] | |
| Meter=BAR | |
| MeasureName=CsCpuTempBar | |
| X=#MySectionSpacing#R | |
| Y=14 | |
| W=32 | |
| H=11 | |
| BarColor=#TheirDarkAccentColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Horizontal | |
| [tCpuTemp] | |
| Meter=String | |
| MeasureName=sHwinfoCpuTemp | |
| X=0r | |
| Y=15 | |
| W=32 | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| Text="%1[\x00B0]C" | |
| ## power deviation | |
| [sCpuAverage] | |
| Measure=CPU | |
| Processor=0 | |
| [CsCpuPowerDeviation] | |
| Measure=Calc | |
| Formula=sCpuAverage > 90 ? ((sHwinfoCpuPowerDeviation-100)/100) : 0 | |
| [CsCpuPowerDeviationInvert] | |
| Measure=Calc | |
| Formula=(-1*CsCpuPowerDeviation) | |
| [tCpuPowerDeviationLower] | |
| Meter=BAR | |
| MeasureName=CsCpuPowerDeviationInvert | |
| X=0r | |
| Y=#MyMarginTop# | |
| W=32 | |
| H=10 | |
| BarColor=#TheirDarkAccentColor# | |
| SolidColor=0,0,0,0 | |
| BarOrientation=Horizontal | |
| Flip=1 | |
| [tCpuPowerDeviationHigher] | |
| Meter=BAR | |
| MeasureName=CsCpuPowerDeviation | |
| X=0r | |
| Y=#MyMarginTop# | |
| W=32 | |
| H=10 | |
| BarColor=#TheirDarkAccentColor# | |
| SolidColor=0,0,0,0 | |
| BarOrientation=Horizontal | |
| ## power draw | |
| [CsCpuPowerDraw] | |
| Measure=Calc | |
| Formula=sHwinfoCpuPowerDraw | |
| [tCpuPowerDraw] | |
| Meter=String | |
| MeasureName=CsCpuPowerDraw | |
| NumOfDecimals=1 | |
| X=0r | |
| Y=#MyMarginTop# | |
| W=32 | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| Text="%1W" | |
| # NETWORK INDICATOR | |
| [sNetDown] | |
| Measure=NetIn | |
| UpdateDivider=2 | |
| [sNetUp] | |
| Measure=NetOut | |
| UpdateDivider=2 | |
| [tNetUp] | |
| Meter=String | |
| MeasureName=sNetUp | |
| X=#MySectionSpacing#R | |
| Y=#MyMarginTop# | |
| W=#MyTextDuRwWidth# | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| NumOfDecimals=1 | |
| AutoScale=2k | |
| Text="U %1B" | |
| [tNetDown] | |
| Meter=String | |
| MeasureName=sNetDown | |
| X=0r | |
| Y=(#MyMarginTop#+9) | |
| W=#MyTextDuRwWidth# | |
| FontColor=#TheirTextColor# | |
| FontSize=8 | |
| NumOfDecimals=1 | |
| AutoScale=2k | |
| Text="D %1B" | |
| # DISK USAGE | |
| [sDiskReadAll] | |
| Measure=Plugin | |
| Plugin=UsageMonitor | |
| Category=PhysicalDisk | |
| Counter="Disk Read Bytes/sec" | |
| [sDiskWriteAll] | |
| Measure=Plugin | |
| Plugin=UsageMonitor | |
| Category=PhysicalDisk | |
| Counter="Disk Write Bytes/sec" | |
| [CsDiskReadAll] | |
| Measure=Calc | |
| Formula=sDiskReadAll | |
| UpdateDivider=2 | |
| [CsDiskWriteAll] | |
| Measure=Calc | |
| Formula=sDiskWriteAll | |
| UpdateDivider=2 | |
| [tDiskRead] | |
| Meter=String | |
| MeasureName=CsDiskReadAll | |
| X=#MySectionSpacing#R | |
| Y=#MyMarginTop# | |
| W=#MyTextDuRwWidth# | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| NumOfDecimals=1 | |
| AutoScale=2k | |
| Text="R %1B" | |
| [tDiskWrite] | |
| Meter=String | |
| MeasureName=CsDiskWriteAll | |
| X=0r | |
| Y=(#MyMarginTop#+9) | |
| W=#MyTextDuRwWidth# | |
| FontColor=#TheirTextColor# | |
| FontSize=8 | |
| NumOfDecimals=1 | |
| AutoScale=2k | |
| Text="w %1B" | |
| # GPU | |
| [CsGpuThrottle] | |
| Measure=Calc | |
| Formula=1 | |
| IfCondition=(sHwinfoGpuThermalThrottle = 0) | |
| IfTrueAction=[!SetVariable "TheirGpuBarColor" #TheirAccentColor#] | |
| IfFalseAction=[!SetVariable "TheirGpuBarColor" #TheirAccentThrottled#] | |
| [sGpuUsage] | |
| Measure=Plugin | |
| Plugin=UsageMonitor | |
| Alias=GPU | |
| [tGpuUsage] | |
| Meter=BAR | |
| MeasureName=sGpuUsage | |
| X=#MySectionSpacing#R | |
| Y=(#MyMarginTop# + #MyHeight# - 4) | |
| W=24 | |
| H=4 | |
| BarColor=#TheirGpuBarColor# | |
| DynamicVariables=1 | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Horizontal | |
| [LabelGpuUsage] | |
| Meter=String | |
| X=0r | |
| Y=(#MyMarginTop#+2) | |
| W=24 | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| Text="GPU" | |
| ; TODO: Rainmeter doesn't like that Meter tHwencdecBg doesn't have a measure. | |
| ; This is a workaround. | |
| [CsZero] | |
| Measure=Calc | |
| Formula=0 | |
| [tHwencdecBg] | |
| Meter=BAR | |
| MeasureName=CsZero | |
| X=#MySectionSpacing#R | |
| Y=(#MyMarginTop# + #MyHeight# - 5) | |
| W=24 | |
| H=5 | |
| SolidColor=#MyBarBackground# | |
| [CsHwinfoGpuDecode] | |
| Measure=Calc | |
| ; Inflated version: | |
| ; Formula=(1-((100-sHwinfoGpuDecode)/100)**2) | |
| ; Flat/Linear version: | |
| Formula=sHwinfoGpuDecode/100 | |
| [tHwdecUsage] | |
| Meter=BAR | |
| MeasureName=CsHwinfoGpuDecode | |
| X=0r | |
| Y=(#MyMarginTop# + #MyHeight# - 3) | |
| W=24 | |
| H=3 | |
| BarColor=#TheirGpuBarColor# | |
| DynamicVariables=1 | |
| SolidColor=0,0,0,0 | |
| BarOrientation=Horizontal | |
| [CsHwinfoGpuEncode] | |
| Measure=Calc | |
| Formula=(sHwinfoGpuEncode/100) | |
| [tHwencUsage] | |
| Meter=BAR | |
| MeasureName=CsHwinfoGpuEncode | |
| X=0r | |
| Y=(#MyMarginTop# + #MyHeight# - 5) | |
| W=24 | |
| H=3 | |
| BarColor=#TheirGpuBarColor# | |
| DynamicVariables=1 | |
| SolidColor=0,0,0,0 | |
| BarOrientation=Horizontal | |
| [LabelHwdecUsage] | |
| Meter=String | |
| X=0r | |
| Y=(#MyMarginTop#+2) | |
| W=24 | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| Text="ENC" | |
| [CsHwinfoGpuVramAllocated] | |
| Measure=Calc | |
| Formula=sHwinfoGpuVramAllocated*1000000 | |
| [tGpuVram] | |
| Meter=BAR | |
| MeasureName=sHwinfoGpuVramPercent | |
| X=#MySectionSpacing#R | |
| Y=(#MyMarginTop# + #MyHeight# - 4) | |
| W=40 | |
| H=4 | |
| BarColor=#TheirTextColor# | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Horizontal | |
| [LabelGpuVram] | |
| Meter=String | |
| MeasureName=CsHwinfoGpuVramAllocated | |
| X=(0+20)r | |
| Y=(#MyMarginTop#+2) | |
| W=20 | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| Text="%1B" | |
| StringAlign=Center | |
| AutoScale=2k | |
| # GPU POWER | |
| [CsGpuPowerDraw] | |
| Measure=Calc | |
| Formula=sHwinfoGpuPowerDraw | |
| [tGpuPowerDraw] | |
| Meter=String | |
| MeasureName=CsGpuPowerDraw | |
| NumOfDecimals=1 | |
| X=#MySectionSpacing#R | |
| Y=#MyMarginTop# | |
| W=32 | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| Text="%1W" | |
| [CsGpuThermalLimit] | |
| Measure=Calc | |
| ; Formula=((sHwinfoGpuTemp-40)/(sHwinfoGpuThermalLimit-40)) | |
| Formula=((sHwinfoGpuTemp**2)/(sHwinfoGpuThermalLimit**2)) | |
| [tGpuTempBar] | |
| Meter=BAR | |
| MeasureName=CsGpuThermalLimit | |
| X=0r | |
| Y=14 | |
| W=32 | |
| H=11 | |
| BarColor=#TheirDarkAccentColor# | |
| DynamicVariables=1 | |
| SolidColor=#MyBarBackground# | |
| BarOrientation=Horizontal | |
| [tGpuTemp] | |
| Meter=String | |
| MeasureName=sHwinfoGpuTemp | |
| X=0r | |
| Y=15 | |
| W=32 | |
| FontColor=#TheirTextColor# | |
| FontSize=7 | |
| Text="%1[\x00B0]C" | |
| # Ping | |
| ; [sPing] | |
| ; Measure=Plugin | |
| ; Plugin=PingPlugin | |
| ; UpdateRate=#TheirPingUpdateRate# | |
| ; DestAddress=www.google.com | |
| ; | |
| ; [tPing] | |
| ; Meter=String | |
| ; MeasureName=sPing | |
| ; ;StringAlign=Right | |
| ; X=#MySectionSpacing#R | |
| ; Y=#MyMarginTop# | |
| ; W=30 | |
| ; ;H=#MyHeight# | |
| ; FontSize=7 | |
| ; FontColor=#TheirTextColor# | |
| ; Text=%1ms | |
| [CsHwinfoFrameRate] | |
| Measure=Calc | |
| Formula=sHwinfoFrameRate | |
| [tFrameRate] | |
| Meter=String | |
| MeasureName=CsHwinfoFrameRate | |
| StringAlign=Center | |
| X=(0+15)R | |
| Y=(#MyMarginTop#) | |
| W=15 | |
| ;H=#MyHeight# | |
| NumOfDecimals=0 | |
| FontSize=8 | |
| FontColor=#TheirTextColor# | |
| Text=%1 | |
| [LabelFrameRate] | |
| Meter=String | |
| StringAlign=Center | |
| X=0r | |
| Y=(#MyMarginTop# + #MyHeight# - 8) | |
| W=15 | |
| FontSize=7 | |
| FontColor=#TheirTextColor# | |
| Text="FPS" | |
| [sClock] | |
| Measure=Time | |
| Format=%I:%M %p | |
| ; what the heck with this position. so weird. | |
| [tClock] | |
| MeasureName=sClock | |
| Meter=String | |
| StringAlign=Center | |
| X=(20+(#TheirClockWidth#/2.0))r | |
| Y=(#MyMarginTop#+5) | |
| W=(#TheirClockWidth#/2.0) | |
| H=#MyHeight# | |
| FontSize=8 | |
| FontColor=#TheirTextColor# | |
| InlineSetting=Weight | 600 | |
| ; Biggetst Processor | |
| [CsTopPsVisibility] | |
| Measure=Calc | |
| Formula=(CsTopPsVisibility + 1) | |
| [sTopPsAll] | |
| Measure=Plugin | |
| Plugin=UsageMonitor | |
| Alias=CPU | |
| [sTopPs1] | |
| Measure=Plugin | |
| Plugin=UsageMonitor | |
| Alias=CPU | |
| Index=1 | |
| Blacklist=_Total|Idle|Memory Compression | |
| [sTopPs2] | |
| Measure=Plugin | |
| Plugin=UsageMonitor | |
| Alias=CPU | |
| Index=2 | |
| Blacklist=_Total|Idle|Memory Compression | |
| [CsTopPsAllVal] | |
| Measure=Calc | |
| Formula=sTopPsAll | |
| [CsTopPs1Val] | |
| Measure=Calc | |
| Formula=Floor(sTopPs1*100)/100 | |
| [CsTopPs2Val] | |
| Measure=Calc | |
| Formula=Floor(sTopPs2*100)/100 | |
| IfCondition=(CsTopPsAllVal > 50) | |
| IfTrueAction=[!DisableMeasure CsTopPsVisibility] [!SetVariable TheirProcess1 [sTopPs1]][!SetVariable TheirProcessUsage1 [CsTopPs1Val]] [!SetVariable TheirProcess2 [sTopPs2]][!SetVariable TheirProcessUsage2 [CsTopPs2Val]] | |
| IfFalseAction=[!EnableMeasure CsTopPsVisibility] | |
| IfCondition2=(CsTopPsVisibility < 10) | |
| IfTrueAction2=[!ShowMeter tTopProcessBg][!ShowMeter tTopProcess][!UpdateMeasure sTopPs1][!UpdateMeasure sTopPs2] | |
| IfFalseAction2=[!HideMeter tTopProcessBg][!HideMeter tTopProcess][!UpdateMeasure sTopPs1][!UpdateMeasure sTopPs2] | |
| [tTopProcessBg] | |
| Meter=Image | |
| SolidColor=#MyBackgroundColorFullscreen# | |
| X=#MyMarginLeft# | |
| Y=(#MyMarginBottom#+(2*#MyMarginTop#)+#MyHeight#) | |
| W=180 | |
| H=28 | |
| [tTopProcess] | |
| Meter=String | |
| ; MeasureName=sTopPs1 | |
| ; MeasureName2=CsTopPs1Val | |
| ; MeasureName3=sTopPs2 | |
| ; MeasureName4=CsTopPs2Val | |
| NumOfDecimals=2 | |
| FontColor=#TheirTextColor# | |
| FontSize=8 | |
| X=#MyMarginLeft#r | |
| Y=2r | |
| W=180 | |
| H=(#MyMarginBottom#+#MyMarginTop#+#MyHeight#) | |
| DynamicVariables=1 | |
| ; Text="%2%[\x0009]%1#CRLF#%4%[\x0009]%3" | |
| Text="#TheirProcessUsage1#%[\x0009]#TheirProcess1##CRLF##TheirProcessUsage2#%[\x0009]#TheirProcess2#" | |
| ; [tEndMark] | |
| ; Meter=String | |
| ; X=0R | |
| ; Y=(#MyMarginTop#+4) | |
| ; W=(#TheirClockWidth#/2.0) | |
| ; H=#MyHeight# | |
| ; FontColor=255,255,255 | |
| ; Text=Ends | |
| #ECHO | |
| ; [tEcho] | |
| ; Meter=String | |
| ; X=#MySectionSpacing#R | |
| ; Y=#MyMarginTop# | |
| ; W=80 | |
| ; H=#MyHeight# | |
| ; FontColor=255,255,255 | |
| ; Text=#TheirWindowState# |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
note: The clock only appeared on fullscreen mode.
Used on AMD CPU and Nvidia GPU
This skin require setup with HWinfo App.
Indicator (from left to right)
First is RAM usage circle.
Then Individual CPU core usage.
And then text showing CPU power draw and temperature. On the power draw indicator, when CPU is on full load, a bar will appear indicating Power Reporting Deviation, if it goes from left to right it means it's above 100%, if it's from right to left that means it's below 100%.
Then text indicating upload and download.
Then text indicating disk read/write.
Then GPU usage, I'm not sure what that means.
Then video encoding and decoding.
Then VRAM usage.
Then GPU power draw.
Then FPS.
CPU and GPU usage indicator's bar will change color when thermal throttling.
If CPU usage is above 50%, it will show process' CPU usage ranking.