aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md
index e3db205..1b6e8a8 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -181,6 +181,37 @@ changing that component. The ones that generalise:
only a runtime `TypeError` in the log and a clean smoke check (the drawer was
closed, so nothing was instantiated). Inject an id under a different name:
`net`, `bt`, `kc`.
+- **Neither scan property self-terminates, and closing the drawer does not stop
+ them.** `BluetoothAdapter.discovering` is plain BlueZ discovery and
+ `WifiDevice.scannerEnabled` is a repeating scanner; only `discoverable` and
+ `pairable` have timeout properties, and the scan ones have none. The scan
+ button was the sole writer of each, and a drawer close destroys the page
+ without touching them, so a scan started and forgotten kept the radio busy
+ for the rest of the session. Both pages now carry a `Timer` bound to the scan
+ property rather than started by the button, so a manual stop cancels the
+ clock and reopening the page re-arms a fresh 60s.
+- **This machine does run a logind.** `elogind` is running, `pam_elogind.so` is
+ in the PAM stack for `login`, `sddm`, `xdm` and `kde`, and `loginctl
+ list-sessions` reports a tracked session on seat0. "Slackware has no logind"
+ is the obvious assumption and it is wrong; it reached a committed spec once.
+ The real caveat is narrower: `man 8 pam_elogind` says the module does nothing
+ if the system was not booted with elogind as its init, which here it is not,
+ so its documented removal of `$XDG_RUNTIME_DIR` at last logout is not
+ guaranteed for this configuration. A reboot clears it regardless, because
+ `/run/user/1000` is tmpfs.
+- **hypridle honours the Wayland idle-inhibit protocol here.** The compositor
+ advertises `zwp_idle_inhibit_manager_v1` (version 1), confirmed with
+ `wayland-info`, and waybar's built-in `idle_inhibitor` already drives it. So
+ an idle inhibitor is asserted over Wayland, not D-Bus, and needs no extra
+ service. `hypridle` has `ignore_dbus_inhibit` and `ignore_systemd_inhibit`
+ knobs; neither is set in the live config.
+- **waybar's built-in `idle_inhibitor` cannot indicate state it does not own.**
+ It holds its own inhibitor object, and its `activated`/`deactivated` classes
+ are that object's state, with no input path. It cannot be demoted to an
+ indicator for a mode owned elsewhere, and left running alongside another
+ inhibitor it asserts a second, independent one, so idle resumes only when
+ both release. Replace it with a `custom/` module reading the owning
+ component's state.
## Theme