Gabriel Brown
6ad2e017e8
Decide how to log out by what the session is, not what is installed
...
The power menu's Log Out ran `uwsm stop` whenever the uwsm binary existed --
which is always, since Panama installs it. In a plain "Hyprland" session there
is no uwsm unit to stop, so the command failed and the button silently did
nothing. Nor is `uwsm check is-active` the test: it reads
graphical-session.target, which the plain session also activates. The one
thing unique to a managed session is uwsm's own compositor unit,
wayland-wm@*.service, so that is now what chooses between stopping the unit
and asking the compositor to exit. A new contract pins the decision -- and
checks the script line rather than the file, because the comment explaining
the wrong tests has to be allowed to name them.
Claude-Session: https://claude.ai/code/session_01Epx9ZC1gwm81K3jm9x9CKh
2026-08-23 10:38:09 -04:00
..
2026-08-18 13:05:25 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 05:42:53 -04:00
2026-08-22 09:36:54 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 21:43:14 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-17 11:28:12 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 23:53:50 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:03:08 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 06:33:19 -04:00
2026-08-23 10:32:17 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-19 11:59:53 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:26 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-17 19:21:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 02:56:24 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-18 06:14:07 -04:00
2026-08-21 20:02:25 -04:00
2026-08-19 11:28:36 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:26 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 01:11:46 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-18 06:14:07 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 05:42:53 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 06:33:19 -04:00
2026-08-22 07:38:41 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 18:57:26 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:38:09 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:53 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 12:57:47 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:26 -04:00
2026-08-20 22:00:26 -04:00
2026-08-22 01:00:18 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00