FIREFLIES — AMBIENT PIXEL-ART OVERLAY FOR RAINMETER
A lightweight, wallpaper-adaptive firefly swarm that drifts across your desktop. Six pixel-art fireflies wander in smooth, organic paths, their glow tinted to match the dominant colour of your current wallpaper. No Lua, no external plugins — just Rainmeter's native Shape and Calc meters plus a tiny PowerShell script for colour extraction.
FEATURES
Wallpaper-adaptive palette — samples the brightest, most saturated colour from your wallpaper and uses it for the firefly glow. Organic motion — each firefly follows a unique Lissajous-like path built from stacked sine waves. Pixel-art silhouette — 15x15 grid with antennae, wings, head, red eyes, and a pulsing abdomen. Smooth 62.5 fps — runs at Update=16 with all motion frequencies scaled accordingly. Zero external plugins — uses only Rainmeter's built-in RunCommand plugin and Windows PowerShell. Six fireflies — enough to feel alive without cluttering your desktop. Adjustable scale — one variable controls the size of every firefly.
FILE STRUCTURE
Fireflies/ Fireflies.ini The skin itself Sample-Wallpaper.ps1 PowerShell script for colour extraction wallpaper-vars.inc Colour variables (generated by the script) README.txt This file
INSTALLATION
-
Install Rainmeter (version 4.5 or later) from rainmeter.net
-
Create the skin folder. Navigate to Documents\Rainmeter\Skins\ and create a new folder called Fireflies.
-
Copy the files. Place Fireflies.ini, Sample-Wallpaper.ps1, and wallpaper-vars.inc into that folder.
-
Run the colour script once manually. Open PowerShell in the Fireflies folder and run:
powershell -NoProfile -ExecutionPolicy Bypass -File .\Sample-Wallpaper.ps1
This creates or updates wallpaper-vars.inc with colours from your current wallpaper.
-
Load the skin. Right-click the Rainmeter tray icon, choose Manage, find Fireflies under Skins, click Load.
-
Set position. Right-click the skin, choose Position, then On desktop (or Bottom if On desktop hides it).
-
Done. The fireflies drift across your screen and re-sample your wallpaper every 10 minutes.
CONFIGURATION
All settings live in the [Variables] section of Fireflies.ini.
Scale = 1.6 — Size multiplier. 1.0 is about 15 px tall, 2.2 is about 33 px tall. FFW / FFH — Screen dimensions, auto-detected. FFColor — Glow colour (RGB), set by the script. FFCore — Bright core colour (RGB), set by the script. BodyDark = 60,38,20 — Body colour. HeadDark = 85,55,28 — Head colour. EyeRed = 210,40,40 — Eye colour. WingTan = 210,185,150 — Wing colour. AntDark = 45,30,15 — Antennae colour.
To change the number of fireflies: duplicate a full [FF#x], [FF#y], [FF#a], and [MeterFF#] block, then change the # to a new number like 7. Jitter the four frequency numbers in the X and Y formulas to give the new fly a unique path.
To change speed: the motion frequencies are the decimals in the Formula lines of [FF#x] and [FF#y]. Lower values mean slower drift. The alpha flicker frequency is in [FF#a].
WALLPAPER COLOUR SAMPLING
The script Sample-Wallpaper.ps1 does the following:
- Reads the current wallpaper path from the Windows registry.
- Downsamples the image to 32x18 pixels.
- Scores every pixel by saturation times luminance, discarding near-black and near-white.
- Averages the top 20 scoring pixels, brightens the result by 35%, and writes it to wallpaper-vars.inc.
The skin re-runs this script on load and every 10 minutes via the [MeasureSample] measure.
Manual refresh: if you change your wallpaper and want the fireflies to update immediately, right-click the skin and choose Refresh skin.
PERFORMANCE
CPU usage is roughly 5 to 7 percent of one core on a modern multi-core CPU, similar to other animated Rainmeter skins. Update rate is 16 ms, which is 62.5 fps — smooth motion without excessive CPU load. Memory is negligible; all calculations are lightweight Calc measures. GPU benefits from Rainmeter's hardware acceleration; the Shape meters are cached efficiently.
If you experience lag:
Reduce the number of fireflies by deleting some blocks. Increase Update to 20 or 25 and scale motion frequencies by 16/20 or 16/25 to keep speeds consistent. Lower Scale to make each firefly smaller.
TROUBLESHOOTING
Nothing appears on screen Make sure the skin is loaded and set to On desktop or Bottom. Right-click the skin, choose Manage skin, and check the preview thumbnail. If it shows fireflies, the issue is window placement. In Rainmeter About, go to Skins, select Fireflies, and verify that FF1x, FF1y, and FF1a are showing numbers rather than blank or zero.
Fireflies are the wrong colour Run Sample-Wallpaper.ps1 manually as described in Installation step 4. If it fails, your PowerShell execution policy may be blocking scripts. Run once as administrator:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Then re-run the script.
Motion is choppy or laggy Set Update=16 in [Rainmeter]. Reduce the number of fireflies. Check that no other heavy Rainmeter skins are running.
Fireflies look like hard-edged dots Make sure the four Shape layers per firefly are present: haze, halo, abdomen, core. Increase Scale for a larger, softer appearance. Adjust the alpha multipliers in Shape9 and Shape10 if needed.
Skin does not load at all Make sure the file is saved with .ini extension, not .ini.txt. Check that wallpaper-vars.inc exists. Run the script manually first. Verify the folder path is exactly Rainmeter\Skins\Fireflies.
CREDITS
Design and implementation: Connect-R Wallpaper colour extraction: PowerShell script using System.Drawing Inspiration: classic firefly pixel art and the Rainmeter community Companion research paper documenting the engineering process is included separately.
LICENSE
MIT License. You are free to use, modify, and distribute this skin. Attribution is appreciated but not required.
Enjoy the fireflies.