Propose a change
Name Last commit message Last updated
dist 0.7.10: rebuilt binary (logo hold default 5s) 28d ago
screenshots 0.7.3: standardize on 'Settings' (was Preferences); REAL config-tab screenshots (captured via new /c <tab> flag + background window screenshot, not renders); hero rebuilt from the real config shot 29d ago
skills 0.7.0: tabbed config (Cascade/Power/Preview/About) + Modern Standby readout, App/Skill/Component capsules + opt-in components with curated 3D-render heroes, offline resilience + burn-in backstops, fast logo dismiss, preview wait screen. README + screenshots refreshed. 29d ago
install.sh 0.6.4: clarify display-off language (turn the display off, not rest the screen), purge em-dashes from all docs, add status screen 1mo ago
package.json Remove internal identifiers from manifest 10d ago
page.json Remove internal identifiers from page.json 10d ago
README.md 0.7.5: lightweight launcher (WebView2 deferred past the logo window; 300ms gentle fade + instant exit on logo-phase bail) + README design section 29d ago
SKILL.md 0.6.4: clarify display-off language (turn the display off, not rest the screen), purge em-dashes from all docs, add status screen 1mo ago
uninstall.sh 0.6.4: clarify display-off language (turn the display off, not rest the screen), purge em-dashes from all docs, add status screen 1mo ago

adom-screensaver, the vibe-coding screensaver

🪟 Windows only. This runs on your Windows laptop, not a Linux/WSL2 container.

Turn your Windows laptop into an always-on home for your Claude Code threads. A branded Adom screensaver that rests your screen, keeps your machine awake (network + Remote Control stay alive), and, while it rests, runs a live billboard of the latest Adom Wiki drops, rendered in a real Edge/Chromium engine so it plays video (silently) and renders SVG, not just static images.

Launch it any time with Win + Shift + L.

Adom Screensaver, the branded splash that explains what it's doing while it rests your screen and keeps your machine awake

Built for the people who fire up their Claude threads before they head to dinner and need them still running when they get back.

New in 0.7

  • Tabbed preferences. The settings window is now organized into Cascade / Power / Preview / About tabs (below), with a live Modern Standby readout that explains why your machine light-sleeps when the screen turns off.
  • More to show, clearly labeled. Every billboard wears an App / Skill / Component capsule, and you can optionally rotate in component pages (eval boards, modules, parts) that have a real 3D render.
  • Tougher when things go sideways. Survives a no-wifi launch (plays your cached drops, never burns in), snaps out instantly when you dismiss the opening logo, and shows an on-screen status whenever something is still loading.

The settings window

Right-click the tray icon and choose Settings (or press Win + Shift + L, then open preferences). Four tabs:

Cascade - the timed stages: idle delay, logo hold, splash, seconds per billboard, and when it dims.

Cascade tab, the screensaver cascade timings

Power - your live Modern Standby state up top, the recommended power profile with one-click Apply, the never-turn-the-display-off toggle, a backlight-dim hardware test, and the global hotkey.

Power tab, Modern Standby readout + recommended power settings

Preview - see it for real before you commit: test an app / skill / component billboard, a private billboard, or jump straight to the dimmed screen.

Preview tab, test buttons for each billboard kind

About - the plain-language explainer of why a vibe-coding machine needs different power rules.

About tab, why the machine needs different rules

And a billboard playing a real component with its 3D render (not a schematic symbol):

A component billboard with a real 3D render

Install

adompkg install adom-screensaver

What that does: on your Adom container (Linux/WSL2) it installs the skills and stages the prebuilt, signed Windows binaries, it does not run anything there. The screensaver is a Windows app. To actually put it on your machine, then ask Claude:

set up the Adom screensaver on my Windows laptop

Claude deploys the prebuilt, code-signed binaries to your laptop over the adom-desktop relay, wires keep-awake + autostart, registers it as your screensaver, and sets the display-off timing, no compiler needed, and Windows Defender won't quarantine it (it's signed by "Adom Industries, Inc.").

What it does

  • Keep-awake, no PowerToys. A ~20-line helper (adom-stayawake.exe) holds SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED) on a permanently-alive thread, so the system stays awake (network + Remote Control survive) while the screen is free to turn off.
  • Opens with a gorgeous splash, then the billboards. A dark cover lifts over ~800ms to reveal a power-aware nerd-stats panel, live rows for Power (plugged / on battery %), Screen (powers-off countdown), Sleep (never while plugged, or the on-battery countdown), Keep-awake (ES_SYSTEM_REQUIRED held → NIC up, /remote-control reachable), and Billboards (how many are loaded + cache size, climbing live), plus the animated "fetching the latest drops" counter.
  • A live Wiki billboard (WebView2). It then cross-fades through recent apps/skills from the Adom Wiki, each with its hero, title, brief, and a "just ask Claude" prompt. Because it's a real browser tile it plays webm video muted + looped and renders SVG. Hero images/SVGs are truly cached to disk so they paint instantly and survive offline (video streams, too large to cache). Order is re-shuffled every run. Footer shows power + the display-off countdown.
  • Rests the panel, no burn-in. When your display-off time arrives, the saver pauses all video (releasing the browser's display wake-lock that would otherwise keep the screen lit), blanks to pure black, and powers the panel off, while keep-awake holds the machine + network alive. It does not keep cycling bright billboards on a panel that's meant to be off. A 60-second heartbeat to wv.log records exactly what it did overnight.
  • Both wikis, with a migration nudge. It pulls Wiki v2 (canonical) and Wiki v1 (legacy). If a page is on both, it shows the v2 version; v1-only cards carry an "On Wiki v1 · nudge the team to migrate to v2" kicker, so the screensaver doubles as a gentle prod to finish the v1 → v2 migration.
  • Honest dimming. On laptops where software can't dim the backlight (e.g. ASUS ROG dGPU/MUX), it doesn't pretend to, the on-screen dim is cosmetic (the billboard rests at ~70% brightness); the real backlight-off is Windows' display-off timeout, which genuinely powers the LEDs down with a clean keypress wake.
  • Instant wake. Move the mouse and the billboards are gone immediately, the window hides and the browser tears down in the background (fading a layered window over a live WebView2/video is slow and would lag the dismiss, so it doesn't). The lightweight opening phase still fades out gracefully. Never plays audio.
  • Branded fade-to-black open. The screensaver fades up from your desktop with a small dark-grey Adom mark centered, which then fades itself to black before the splash takes over.
  • Launch on demand, Win + Shift + L. A global hotkey starts the screensaver instantly (the manual counterpart to the idle timer, the way Win + L is for lock). Contributed by Drew as adom-screensaver-hotkey and folded in as a first-class feature, toggleable from the preferences screen if it ever collides with another shortcut.
  • Lid-close rides through; no needless lock. Closing the lid no longer slams the machine to sleep, on AC it does nothing, on battery Windows' own idle timer (e.g. 30 min) is the give-up clock, so a quick close-and-carry doesn't kill your threads. And because the screensaver only rests the screen (it doesn't sleep), it doesn't throw a lock screen; a real sleep-then-wake still asks for sign-in as usual.
  • Public-only, curatable rotation. Only public wiki pages are advertised, explicitly org-private/internal pages are filtered out, and you can drop anything else (legacy v1 pages have no visibility field) by adding its slug to exclude.txt, no rebuild.
  • Signed. Both binaries are code-signed with Adom's Azure Trusted Signing cert ("Adom Industries, Inc.", the same one HD and AD use), so Windows Defender doesn't quarantine the .scr.
  • Driveable by other apps. Hydrogen Desktop / adom-desktop can ask it to get off the screen via a named event, a flag file, or a localhost control port (see the adom-screensaver-wake skill).

The opening logo is your escape hatch (and why it stays lightweight)

The first thing the screensaver shows is the dimmed Adom logo for a few seconds. That pause is not just branding, it is a deliberate, human-friendly escape hatch: if the saver fired and you did not want it, a quick flick of the mouse during that logo dismisses it instantly and gently.

For that to feel good, the logo phase has to be genuinely lightweight. So it is drawn with plain Windows graphics (GDI), and the heavy part, the WebView2 / Chromium engine that renders the billboards, is not started until after the logo window ends. Nothing heavy is spinning up underneath while you decide whether to bail. When you flick the mouse, the screen does a quick 300ms fade (fast, but never a harsh cut) and the process exits immediately, without waiting on a half-started browser. The trade is that the first billboard appears a beat later, because the browser only begins warming once you have had your chance to leave. Treating the human well in that moment is worth it.

Screenshots

The system-tray app

A tiny always-on helper, adom-stayawake.exe, lives in your system tray. Right-click it for everything: the status / screen-locks window, the preferences, and a one-click "show the screensaver now" (with its Win+Shift+L shortcut spelled out). It also flips to a warning icon if anything is stopping your display from turning off.

The Adom Screensaver system-tray menu, dark native Win32 menu

The status / screen-locks window

The diagnostics screen. It runs with admin rights so it can read powercfg /requests and show, live, exactly what (if anything) is holding your display on, so the screensaver and display-off can't happen. Healthy state is green; if a screen-share, recording, or capture is pinning the display awake, it names the culprit and tells you how to stop it. Auto-refreshes every 10 seconds.

The Adom Screensaver status window showing keep-awake state and display-lock holders

The preferences window

Reachable from Windows' Screen Saver "Settings…" button (or the tray), it reads your actual Windows power settings (lid, sleep, turn-the-display-off, lock) and shows them against the recommended "vibe-coding" profile, with one-click Apply for anything that's drifted. Fine-tune the idle timeout, how long the billboards play before the display turns off, and a never-turn-off (kiosk) option.

Adom Screensaver preferences window, live power-settings drift table

The splash, your machine at a glance

When the screensaver starts it briefly shows a branded splash with live nerd-stats: power source, when the display turns off, sleep behavior, the native keep-awake holding ES_SYSTEM_REQUIRED, and how many billboards have loaded from the Wiki. Then it hands off to the billboards.

Adom Screensaver splash with live power and keep-awake nerd stats

Live billboard slides, advertising the latest Wiki drops

While the screensaver is up it cycles recent Adom Wiki apps and skills, each with its hero, title, and a "just ask Claude" prompt, over a live power + display-off-countdown footer. The order reshuffles every run so it always feels fresh, and the faint Adom mark drifts behind from a random spot each time.

Billboard slide for Chipfit, a 3D chip to KiCad footprint validator

Billboard slide for Container Conduit

Billboard slide for the MOSFET IV Characterization Visualizer

Billboard slide for the Adom Safety App

Dependencies

Dependency Required? Why
adom-desktop relay Yes (runtime) The cloud container drives your Windows laptop through it, pushing files, compiling, shipping the WebView2 SDK, configuring power/registry. Ships with your Adom desktop bridge.
WebView2 Runtime Yes (on the laptop) Renders the billboard (video + SVG). Ships with Windows 11 / Edge.
.NET Framework (csc.exe) Yes (on the laptop) Ships with every Windows. Compiles the screensaver + keep-awake helper natively.
PowerToys No Explicitly replaced, native keep-awake without it.

No adompkg package dependencies.

Features

  • WebView2 billboard of recent Wiki v2 + v1 drops; webm video (muted/looped) + SVG + raster, all streamed.
  • Native keep-awake via SetThreadExecutionState (PowerToys-free), autostarting at login.
  • Real backlight-off via Windows display-off timeout (true LED power-down) while staying awake.
  • Power-state + live display-off countdown footer; v1 "migrate to v2" kicker; randomized order; ~70%-brightness cosmetic dim.
  • Adaptive wake (instant on-screen dissolve / panel warm-up when off); no lock unless the machine truly slept.
  • Win + Shift + L launch hotkey (Drew's contribution), toggleable from preferences; lid-close rides through instead of sleeping.
  • Runtime curation via exclude.txt; wake IPC (named event + flag + localhost control port) for other Adom apps.
  • Honest by design: cosmetic dim, real display-off, never audio.

Talk to the AI

Set up / deploy

  • "set up the Adom screensaver on my laptop"
  • "install the keep-awake helper and replace PowerToys"
  • "turn off the Win+Shift+L screensaver hotkey" (if it collides with another app)

Configure

  • "change the screensaver idle timeout to 2 minutes"
  • "set the display to turn off after 3 minutes"
  • "stop showing in the billboard"

Run / troubleshoot

  • "trigger the Adom screensaver"
  • "is the screensaver running right now?"
  • "the billboard is blank" (WebView2 runtime / DLLs)

Skills

Skill Purpose
adom-screensaver Deploy, configure, run, troubleshoot via the adom-desktop relay.
adom-screensaver-billboard Dual-wiki streaming discovery, video/SVG, exclude.txt curation, the manifest.
adom-screensaver-wake Wake IPC for HD/AD/any app that needs the screen.
adom-screensaver-build Compile + ship the WebView2 .scr (+ SDK DLLs) and verify renders.
adom-screensaver-rationale The why, origin story, the staged cascade, and the design reasoning behind every behavior.

The main skill is SKILL.md; the sub-skills live in skills/.

The honest hardware story

Built on a real ASUS ROG Zephyrus, where software can't touch the backlight (WmiSetBrightness ignored on the dGPU/MUX path; NVIDIA blocks SetDeviceGammaRamp). So the app doesn't fake it: the cosmetic dim is a CSS brightness veil (~70%) over the billboard, and the only real software backlight-off is letting Windows turn the display off, which this app sets up, with keep-awake holding the system so the network never drops.