| Security Pillar | Verification Badge |
|---|---|
| Platform Standard | |
| Credential Defense | |
| Supply Chain Surface | |
| Post-Quantum Cryptography | |
| Build Provenance & SLSA | |
| Repository Governance |
The engine — idle daemon, sandboxed plugin host, D-Bus API, and the saver ABI every plugin builds against. Part of IdleScreen — modular Wayland screensavers for Linux.
| Path | Role |
|---|---|
idle-daemon/ |
The service: idle monitoring, presentation sessions, config, D-Bus API, plugin orchestration |
idle-runner/ |
Sandboxed plugin host: manifest + signature verification, capability gates, watchdog, cell/GPU raster |
idle-api/ |
Plugin ABI: savers link against this (param(), palette/system-info callbacks) |
crates/wayland-idle |
ext-idle-notify idle detection |
crates/wayland-present |
zwlr_layer_shell presentation, output topology, overlays |
crates/idle-dbus |
D-Bus client helpers + systemd service lifecycle |
crates/idle-ipc |
Daemon↔runner wire protocol |
crates/idle-upscaler |
CPU frame upscaler |
crates/idle-err |
Shared error plumbing (Result, Context, bail!/ensure!, {:#} chaining) |
crates/idle-log |
Shared logging (RUST_LOG filter, error!..trace!, journald mirroring) |
Ships with the idlescreen product package. On its own:
idlescreen install runtimeThe daemon runs as idle-daemon under systemctl --user.
Driven through the idlescreen router:
idlescreen doctor --fix # diagnose + repair the daemon
idlescreen preview storm # fullscreen preview
idlescreen update # upgrade packages
idlescreen tui # runtime configuration- Wayland Presentation Lifecycle: Clean layer-surface dismissal via explicit
hide()and teardown/recreation of stale overlays on monitor hotplug/reconfiguration. - CPU & GPU Resource Budgets: Sandboxed plugin cgroup v2 throttle enforcement with evaluation window period scaling to prevent false trips during long sessions.
- Configuration Hierarchy: Discovers configurations in
~/.config/idlescreen/config.yaml,~/.config/idle/config.yaml, and system defaults in/etc/xdg/idlescreen/config.yaml.
Apache-2.0 · © 2026 IdleScreen