5.6 KiB
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| project-cyberpunk-wallpaper | Cyberpunk Rainmeter/Wallpaper Engine desktop on samurai with homelab commands + live metrics |
|
kenpat is building a cyberpunk-style live wallpaper on samurai (Windows desktop) using Rainmeter + Steam Wallpaper Engine (already installed). It should display:
- Homelab Commands quick reference (from obsidian-vault
Homelab Commands/Quick Reference.md) - Live system metrics for samurai, T14s/monk, and kscloud1, running at all times
Why: Wants an always-on visual dashboard for the KiteStacks homelab while using the desktop day-to-day.
How to apply: Metrics source is Prometheus running on monk (per device-setup CLAUDE.md). Pull/expose metrics via Prometheus HTTP API (or a small bridge script) for the Rainmeter skin to consume. See project-claude-memory-sync for the shared memory setup that motivated adding this command to the homelab quick reference.
Architecture findings (2026-06-12)
- Prometheus on monk (
100.85.209.116:9090) is reachable directly from samurai over Tailscale - confirmed viacurl http://100.85.209.116:9090/api/v1/targets. - Current scrape jobs:
t14-node(monk's own node-exporter container) andkscloud1-node(kscloud1 node-exporter, public IP - do not commit this IP anywhere). Config lives at~/kitestacks-live/docker/prometheus/prometheus.ymlon monk. - Wallpaper Engine IS installed, but at a non-default Steam location:
C:\Program Files (x86)\steam2\steamapps\common\wallpaper_engine(note "steam2" dir name). - monk also runs
kitestacks-metrics-api(FastAPI/psutil, source at/home/kenpatmonk/kitestacks-live/docker/.../main.pyinside container/app/main.py) exposing/api/metrics,/api/weather,/api/activityas JSON - a reference pattern, but the wallpaper plan uses Prometheus directly as the unified data source for all 3 hosts instead.
SSH access notes
ssh monknow works for general shell (port 22, user kenpatmonk, key id_devman) - added as a Host alias in samurai's ~/.ssh/config. Separate from the100.85.209.116config block used for Forgejo git (port 2222, user git, id_ed25519_forgejo) - both entries must coexist, do not collapse them.
STATUS: Built and working (2026-06-12)
Both Rainmeter skins are live, persisted in Rainmeter.ini, and Rainmeter is set
to launch at login (added to HKCU\...\CurrentVersion\Run). windows_exporter
service confirmed Running/Automatic, samurai-node Prometheus job confirmed up.
- Skins live under
Documents\Rainmeter\Skins\KiteStacks\:Metrics\Metrics.ini- "KITESTACKS NODES" panel, 480x373, pollsfetch-metrics.ps1(RunCommand plugin, 60s) which queries Prometheus and writesmetrics.json; WebParser reads it. Shows CPU/RAM/Disk bars + ONLINE/OFFLINE per host for samurai/monk/kscloud1.Commands\Commands.ini- renders~/obsidian-vault/Homelab Commands/Quick Reference.mdas a single-column cyberpunk text panel (484x557). Regenerate after editing the source doc withCommands\regen-commands.ps1, thenRainmeter.exe "[!Refresh \"KiteStacks\Commands\"]".Variables.inc(shared colors/fonts) included via..\Variables.inc.
- Window positions: Commands at (0,20), Metrics at (500,20) on the PRIMARY
monitor, which is 1536x864 (DISPLAY14, at virtual-screen origin (0,0)),
NOT the 1920x1080 secondary monitor (DISPLAY13, at X=-1920..0). Always check
[System.Windows.Forms.Screen]::AllScreensbefore reasoning about coordinates- GetWindowRect-based tools report positions in this virtual-screen space.
- Critical Rainmeter gotcha: a plain
Y=10on a meter is NOT absolute - it's relative to the previous meter in file order (previous.bottom + 10), even for the very first content meter (previous = whatever IMAGE/background meter precedes it). This caused the Commands panel to balloon to 1240x1356 over many iterations. Fix: drop separate BorderFrame/Background IMAGE meters; use[Rainmeter] BackgroundMode=2+SolidColor=R,G,B,Afor the panel background instead (auto-sized to content bounding box). Single-column layout only - a 2-column layout re-triggers the same chaining bug because the second column's first meter still chains off the first column's last meter. - Encoding gotcha: Rainmeter reads
.incfiles as ANSI, so UTF-8 multi-byte chars (em dash, box-drawing ├└─, arrows →, smart quotes) become mojibake.regen-commands.ps1now replaces these with ASCII equivalents (-,|/\,->, straight quotes) before writing the .inc.
Lock screen (2026-06-12)
kenpat asked to also update the Windows lock screen to match. Used the
Wallpaper Engine background kenpat had just subscribed to (Workshop item
2323323193, "Cyberpunk City w/ System 24h Clock... | Skeor") - copied its
preview.jpg to C:\Users\Kenny\Pictures\KiteStacks\lockscreen-cyberpunk.jpg
and set it via HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP
(LockScreenImagePath/LockScreenImageUrl/LockScreenImageStatus=1). Note:
this is the MDM/CSP-style override - it greys out the lock screen picture picker
in Settings > Personalization. To let kenpat pick a different lock screen image
via Settings later, these 3 registry values need to be deleted first.
Remaining / not done
- Wallpaper Engine background itself: kenpat picks/applies it manually (Rainmeter
renders on top automatically via
WindowZPosition=-2/OnDesktop). - "keep track of token and token limit per session always" - kenpat asked for this as a standing behavior but it hasn't been set up as anything concrete yet.