From f909b171956f280e80842191fa1c46bc4b5a282d Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 11 Sep 2026 19:03:23 +0200 Subject: docs: the process is qs, not quickshell Both binaries ship and qs is the one that runs, so pkill -x quickshell matches nothing and exits successfully. Every restart during development therefore left the old instance running, and 47 accumulated before the user noticed. The same mistake produced pgrep readings of zero that were twice taken for the shell having exited, and sent one debugging session after a bug that did not exist. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7 --- AGENTS.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index c3cf2ef..cbd9139 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -38,9 +38,17 @@ no-visible-window exit above and sent a debugging session in the wrong direction for a dozen calls. Start it so the harness owns the process, and confirm with the log rather than a later `pgrep`. +**The process is called `qs`, not `quickshell`.** Both binaries ship, but `qs` +is what runs, so `pkill -x quickshell` and `pgrep -x quickshell` match nothing +and silently succeed. During development this meant every "stopped" was a lie +and every restart stacked another instance: 47 accumulated before the user +noticed. It also produced "0 processes" readings that were mistaken twice for +the shell exiting, and sent a debugging session after a bug that was not +there. Use `pkill -x qs` and `pgrep -cx qs`, and check the count after. + **`pkill -f` matches the agent's own shell.** The working directory is in the -command line, so `pkill -f quickshell` or `pkill -f "foo.qml"` kills the caller -and returns 144. Use `pkill -x quickshell`. +command line, so `pkill -f qs` or `pkill -f "foo.qml"` kills the caller and +returns 144. Always `-x`, never `-f`. For anything visual, ask. Screenshots of a transient OSD are a race, and the user has the screen. -- cgit v1.2.3