diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-17 10:06:12 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-17 10:06:12 +0200 |
| commit | 1c68c391cd10b5726d082d487b97e7decb823512 (patch) | |
| tree | 803bf7f950f3475d122742f2588d6a8daa189a13 /AGENTS.md | |
| parent | 74fde3e0dae5a40c522ada14cf04945f3c806730 (diff) | |
| download | quickshell-1c68c391cd10b5726d082d487b97e7decb823512.tar.gz quickshell-1c68c391cd10b5726d082d487b97e7decb823512.zip | |
desktop: settings search finds rows, and a hit reveals its row
Search used to stop at the page: clicking a result opened it at the top
and left the setting to be found by eye. Now each settings module keeps
its rows as searchItems, {text, key}, reread on every window open since
the page itself is not loaded until shown: git runs gitcfg list, and
autostart watches its file. A row hit opens the page, and Page.reveal()
finds the row whose objectName is the key, waiting up to 3s for the
page's own data, scrolls to it and flashes it in the accent. The reveal
lives in Page, so a page only names its rows.
Git's long keyword list was a stand-in for exactly this and is cut to
"gitconfig". The autostart page takes its path from the module now that
both read the file.
Also corrects the AGENTS note on missed hot reloads: it blamed sed -i
replacing the file, but the Edit tool writes a new inode too and usually
reloads. The cause is unknown; the note now says how to detect it and
that a process that stops watching needs a restart.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -472,11 +472,18 @@ shell looked current and was not: a remote Markdown image the new filter blocks was fetched anyway. After editing anything under `shared/`, force a reload of every component that links it, the same way as above. -Hot reload does **not** survive a file being replaced rather than written. -`sed -i` writes a new file and renames it over the old one, and the watch on -the old one dies with it: an autostart glyph fixed that way stayed blank in -the running shell, with no reload in the log after the edit. Edit in place -(an editor, the agent's Edit tool), or force a reload as above afterwards. +Hot reload **sometimes does not fire** after an edit, with nothing logged. +Twice in one session an edit was followed by no `Reloading configuration` +line, and the running shell kept the old code: an autostart glyph stayed +blank, an IPC function stayed "not found". The cause is not established. +It was first blamed on `sed -i` replacing the file, but the Edit tool also +writes a new inode (measured) and its edits usually reload fine. Before +trusting what the shell shows after an edit, compare `qs log -p <dir> +--log-times` against the file's mtime, and force a reload as above if none +followed. If even the forced change logs nothing, the process has stopped +watching altogether (seen once, after a few dozen reloads in a session): +only a restart, `./reload.sh desktop` from the user's terminal, brings it +back. `qs -p <dir>` runs one directly. `qs -p <dir> ipc call <target> <fn>` reaches a running one, which is how `SUPER+v` opens the VM drawer. |
