Skip to content

Let the screensaver pin one ttfx effect via shell.json - #11732

Open
buddha9 wants to merge 1 commit into
omacom:quattrofrom
buddha9:screensaver-fixed-effect
Open

buddha9 wants to merge 1 commit into
omacom:quattrofrom
buddha9:screensaver-fixed-effect

Conversation

@buddha9

@buddha9 buddha9 commented Sep 13, 2026

Copy link
Copy Markdown

Summary

  • The screensaver has always picked a random ttfx effect (beams, matrix, fireworks, ...) each cycle, with no way to stick to one you like.
  • Adds an optional idle.screensaverEffect key to shell.json. When set, it constrains ttfx's --random-effect selection to that one effect via --include-effects; an unrecognized name falls back to random and sends a notification saying why.
  • New hidden helper bin/omarchy-screensaver-effect resolves and validates the configured effect, kept separate from bin/omarchy-screensaver so the logic is unit-testable without touching the live screensaver loop (mirrors how IdleModel.js is split out from Service.qml).
  • Docs updated in manual/13-toggles-idle-screensaver.md, docs/omarchy-shell.md, and the bundled omarchy agent skill's plugins.md.

Test plan

  • test/shell.d/screensaver-effect-test.sh (new): unset falls back to random silently, a valid effect resolves and is passed through, an invalid effect falls back to random and notifies.
  • ./test/all run locally — no new failures (5 pre-existing failures in this sandbox are all due to a missing omarchy-pkgs checkout or environment-specific rendering/locale issues, unrelated to this change).
  • Manual check on a real Omarchy install: set "screensaverEffect": "matrix" in ~/.config/omarchy/shell.json, trigger the screensaver (Super + Esc), confirm it always renders the matrix digital-rain effect instead of a random pick.

🤖 Generated with Claude Code

The screensaver has always picked a random ttfx effect (beams, matrix,
fireworks, ...) each cycle, with no way to keep one you like. Add an
optional idle.screensaverEffect key to shell.json that constrains
ttfx's --random-effect selection to a single named effect; an
unrecognized name falls back to random and notifies why.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant