aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
AgeCommit message (Collapse)AuthorFilesLines
12 hoursrefactor: one Theme.qml in shared/, symlinked from each componentDanilo M.1-1/+11
The four copies had already drifted, which is the argument for doing this now rather than when a palette change has to be made four times and lands in three of them. vm-manager was missing surfaceAlt; volume-osd was missing green, yellow and surfaceAlt. The shared file is the superset, so the two thin ones gain properties they never had and nothing loses one. A symlink rather than a shared import path: a singleton outside the config directory needs a qmldir beside it, the same friction that already keeps the generated palette parsed rather than imported. Quickshell follows the link and resolves the singleton with no qmldir, so no consumer changes and no component stops running standalone under qs -p. All four load clean with Configuration Loaded and no QML resolution error. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TvHeJEXJzdfAaCCYqURAWp
12 hoursdocs: add mail-overview to the inventory and its traps to the notesDanilo M.1-3/+32
Four of the notes generalise beyond this component. Two were measured while building it: notmuch fails two different ways and only the rejected-query case is detectable, the misparsed-query case returning a plausible wrong number with exit 0; and notmuch deduplicates by message id, so one message with two file paths is counted twice by a path glob and per-account counts then sum above the total. Two more were bugs found only by running the thing. Xapian replaces files on commit, so a watch on a filename dies with it and the watch belongs on the directory. And an INI section body is not everything up to the next bracket, because values can contain brackets themselves: folders named [Gmail]/Bozze ended a section before its label and three of five accounts quietly displayed their raw key instead. The Blur section gains the exclusion-zone note with its measured geometry, since mail-overview is the first panel here that sits below waybar rather than over it. The "Both" phrasing that assumed two components is now plural. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WWL8JYHu7yhAdtx5pU9PMU
28 hoursdocs: the process is qs, not quickshellDanilo M.1-2/+10
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7
28 hoursfeat(appearance): wallpaper picker and scheme switcherDanilo M.1-0/+6
One drawer for how the desktop looks, on SUPER+Return, replacing the qarma file dialog that key used to open. wallp is untouched and still does the work: the panel calls it with H= and V= and it still runs from a terminal. Clicking a thumbnail stages it rather than setting it, so both screens can be composed before anything changes and Apply is a single wallp call. The mock screens show the result: the staged pick where there is one, what is set where there is not, and the hovered thumbnail on the targeted screen. They are drawn at the real proportions from hyprctl monitors, DP-3 upright because it has transform=1, centred against each other as Hyprland has them. The scheme tab reads the palette pair unified-desktop-theme keeps for each scheme, so the swatches are that scheme's real colours and the list needs no edit when a scheme is added. Applying writes roles.conf and runs install.sh, and reloads nothing, because install.sh reloads nothing: the panel says what is still showing the old scheme rather than pretending the switch is done. Two QML traps are documented in AGENTS.md because neither announces itself: there is no String.matchAll, which threw inside a try and left every swatch empty, and assigning running = true to an already-running Process does nothing, which stopped the scheme loader after the first file. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7
30 hoursdocs: add AGENTS.md and a thin CLAUDE.mdDanilo M.1-0/+118
Records what cost time rather than what the code already says: the no-visible-window exit that broke both components, the two measurement traps that made it look like a code bug, and the per-component findings that generalise to a third one. CLAUDE.md points at it, matching unified-desktop-theme, so there is one source of truth per repo rather than one per agent tool. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7