From fbea0f687a80dca6135b22e1338dbe463096f7fb Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 21 Sep 2026 20:13:30 +0200 Subject: feat(presentation): draw a running game as its own state The module emits a third class, gaming, when the shell's game detector holds presentation on. It gets its own icon rather than sharing the presentation one: the click is inert in that state, so the pill has to say why the mode is on and that clicking will not turn it off. The icon joins wb-icon's selftest, which is what makes an icon theme missing it fail at install time instead of rendering an empty pill. Co-Authored-By: Claude Opus 5 --- modules/custom/presentation.jsonc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'modules/custom/presentation.jsonc') diff --git a/modules/custom/presentation.jsonc b/modules/custom/presentation.jsonc index 8544b26..a6dd20a 100644 --- a/modules/custom/presentation.jsonc +++ b/modules/custom/presentation.jsonc @@ -10,6 +10,12 @@ // normal state before anything has written one, and a file cannot report // whether a watcher is alive anyway. // +// A third class, gaming, covers the mode being held on by a running game: the +// shell's detector owns status.gaming and presentation is the OR of the two, +// so a game turns the mode on without touching the manual half. The click is +// inert in that state, statusctl refuses the toggle, because the detector +// would reassert it within its poll anyway. +// // statusctl talks to files under XDG_RUNTIME_DIR rather than to quickshell, // so this keeps working while the shell is down. // The format is a single space, and it has to be something. It defaults to -- cgit v1.2.3