Rainmeter Skins for Network and Server Monitoring

I wanted to know my network status at a glance — ping, speeds, packet loss — without opening a terminal or a browser tab. Taskbar icons don't cut it. Widgets in notification panels feel buried. What I actually wanted was a persistent, unobtrusive overlay living on my desktop.

Rainmeter is the obvious answer on Windows. It's been around forever, runs lightweight, and lets you build exactly what you want using simple .ini config files. So I built two skins: one for real-time internet monitoring and one for local server status.

InternetMonitor

The first skin handles everything internet-facing. It displays:

The thresholds are set in a variables section at the top of the skin so they're easy to tune without digging through the meter definitions:

[Variables]
PingGood=50
PingWarn=100
; Values in ms — anything above PingWarn goes red

The skin also has an expandable panel. In the collapsed state it's just a small indicator in the corner. Click it and it expands to show the full stats panel with graphs. This keeps it out of the way when you don't need the detail.

Network connect/disconnect

There's a button in the skin that triggers a batch script to disconnect or reconnect the network adapter. Useful when you want to force a reconnect without digging through adapter settings. Rainmeter calls it with a !Execute action:

[MeterToggle]
Meter=Button
LeftMouseUpAction=!Execute ["cmd /c netsh interface set interface "Wi-Fi" disable"]

The script uses netsh rather than Device Manager — no UAC prompt if you pre-elevate Rainmeter at startup, and it runs silently.

ServerStatus

The second skin monitors up to two local network devices via ping. I use it for a home server and a NAS. The display is minimal: a label, a latency reading, and an online/offline indicator. That's all you need when you're just checking whether something is reachable.

Each device is configured with an IP and a display name in the variables block. The skin pings both on the same update cycle and updates the indicators independently, so if one device goes down the other still shows green.

How Rainmeter skins actually work

If you haven't used Rainmeter before, the model is straightforward. A skin is a folder containing at least one .ini file. Inside that file you define Measures — things that collect data — and Meters — things that display it.

[MeasurePing]
Measure=Plugin
Plugin=PingPlugin
DestAddress=8.8.8.8
UpdateRate=10

[MeterPingValue]
Meter=String
MeasureName=MeasurePing
Text="Ping: %1 ms"
FontColor=255,255,255,200

The PingPlugin is a community plugin that ships with most Rainmeter installs. It handles the actual ICMP requests and exposes the result as a measure value. Meters then bind to measures by name and render whatever they're configured to show.

The color logic for latency thresholds uses Rainmeter's IfCondition system — essentially inline conditionals that swap out a meter's font or image color based on the current measure value.

Stack


← Back to all posts  ·  View on GitHub ↗