aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/status/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-07 19:13:16 +0200
committerDanilo M. <danix@danix.xyz>2026-10-07 19:13:16 +0200
commita55464e179a3f82aa46866564878ad35e11e0ae5 (patch)
tree7e604416cb2c6c1a22f633a8dc6158d4d30d7e1f /desktop/modules/status/README.md
parentfe80b03136a141fb6832474e7dd6dc0ba822e454 (diff)
downloadquickshell-a55464e179a3f82aa46866564878ad35e11e0ae5.tar.gz
quickshell-a55464e179a3f82aa46866564878ad35e11e0ae5.zip
docs: the island, and waybar gone
AGENTS.md describes the hybrid model (desktop/ hosts drawer and island) and gains the gotchas found while building the island: UseQApplication for tray menus, WheelHandler vs MouseArea, accent colliding with green, xkb layout switching, and the tray popup un-hovering the island. The Blur waybar measurement becomes history. READMEs drop their present-tense waybar references. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/status/README.md')
-rw-r--r--desktop/modules/status/README.md23
1 files changed, 12 insertions, 11 deletions
diff --git a/desktop/modules/status/README.md b/desktop/modules/status/README.md
index e435d94..b25505f 100644
--- a/desktop/modules/status/README.md
+++ b/desktop/modules/status/README.md
@@ -28,7 +28,7 @@ mechanism, which is why it keeps working while quickshell is down.
statusctl <mode> get prints 0 or 1
statusctl <mode> set 0|1
statusctl <mode> toggle
- statusctl <mode> watch waybar JSON on every change
+ statusctl <mode> watch JSON on every change (no consumer now)
The repo copy is the source; `~/bin/statusctl` is a symlink to it. `watch` watches
the directory rather than the file, because an atomic write replaces the file
@@ -70,8 +70,8 @@ The traffic runs both ways, and only one way writes.
$XDG_RUNTIME_DIR/breaktimer.remain seconds left in the phase
exposed as `Status.btState`, `btPhase` and `btRemain`, with `btRunning` and
-`btPaused` derived from the first. `waybar-breaktimer.sh` reads the same three
-files and the two consumers do not know about each other.
+`btPaused` derived from the first. The old bar script read the same three
+files; the two consumers never knew about each other.
**Writing: never.** The daemon owns those files and rewrites state and phase on
every transition, so a second writer would race its loop. Every control calls a
@@ -83,7 +83,7 @@ end the daemon write `stopped` there: `stop_daemon`, and the `cleanup` trap on
`TERM`. A daemon lost to `KILL` leaves a stale `running` and the drawer shows a
frozen countdown, a visible wrong answer the Start button resolves, which is
cheaper than a liveness probe on every repaint. QML cannot send a signal, so
-the `kill -0` check the waybar module uses is not available here anyway.
+the `kill -0` check the old bar module used is not available here anyway.
**The countdown counts in five second steps**, because that is the daemon's
tick and the shell does not interpolate between its writes. A local one second
@@ -123,16 +123,17 @@ runs, since `status.gaming` holds it on until the game exits.
`status.gaming` is never set by `statusctl`; the detector owns it. The effects
are unchanged, because they key off the combined `presentation` value.
-## Waybar
+## The watch (no consumer now)
-`custom/presentation` reads `statusctl presentation watch`. It replaces
-waybar's built-in `idle_inhibitor`, which cannot be kept alongside it: that
-module owns its own inhibitor object, so both would have to be released
-before the screen could lock.
+`statusctl presentation watch` fed waybar's `custom/presentation` module, which
+replaced waybar's built-in `idle_inhibitor`. Waybar is gone, so the watch has
+no consumer; the command stays. Presentation is toggled from the drawer's
+status page, and later from the control panel. The island shows no presentation
+state at rest.
The watch emits three classes, not two. `status.gaming` turns the mode on
-without touching the manual half, so a game would otherwise leave the widget
-reading `deactivated` while the effects were asserted. `gaming` is its own
+without touching the manual half, so a bar widget would otherwise read
+`deactivated` while the effects were asserted. `gaming` is its own
class with its own icon, and `toggle` is refused while it holds: the detector
reasserts the file within its poll, so the write would not stick. `set` is
still allowed, since the manual half is worth setting for when the game exits.