aboutsummaryrefslogtreecommitdiffstats
path: root/modules/custom/presentation.jsonc
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-21 20:13:30 +0200
committerDanilo M. <danix@danix.xyz>2026-09-21 20:13:30 +0200
commitfbea0f687a80dca6135b22e1338dbe463096f7fb (patch)
tree39a65d6b0f85b9c995d3d0a35d07fc6ff1e1aadc /modules/custom/presentation.jsonc
parent996ad0ca8aa337051aca955a149be063396f732c (diff)
downloadwaybar-theme-udt-fbea0f687a80dca6135b22e1338dbe463096f7fb.tar.gz
waybar-theme-udt-fbea0f687a80dca6135b22e1338dbe463096f7fb.zip
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 <noreply@anthropic.com>
Diffstat (limited to 'modules/custom/presentation.jsonc')
-rw-r--r--modules/custom/presentation.jsonc6
1 files changed, 6 insertions, 0 deletions
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