diff options
| -rw-r--r-- | AGENTS.md | 20 |
1 files changed, 15 insertions, 5 deletions
@@ -166,6 +166,12 @@ changing that component. The ones that generalise: has no mkdir step. `Quickshell.stateDir` is a per-shell hashed directory (`by-shell/<hash>`), not `~/.local/state/quickshell`, which is why the preferences path is built from `XDG_STATE_HOME` instead. +- **`FileView.setText("")` on a path that view has not loaded writes no file at + all and reports no error**, with or without `atomicWrites` (measured). + `Prefs.qml` never hits it because JSON is never empty; a note body can be, and + one landed in `db.json` with no file beside it. Content that may be empty goes + through a `Process` running `cat > <file>` with the text on stdin, whose exit + code is the outcome; `notes` writes bodies that way. - **khal 0.11 has no JSON output**, which is why the calendar reads the vdir itself through `desktop/island/calendar/calctl` rather than parsing `khal list -f`. A month list over the 281 live event files measured 0.11s. khal @@ -176,11 +182,15 @@ changing that component. The ones that generalise: - **Use `/usr/bin/python3` for calctl and its test.** `python3` on PATH is a pyenv shim without `icalendar`; the system interpreter has it, for cal-notif. -- **`FileView` reads `/proc` and `/sys` fine, but only on `reload()`.** With - `blockLoading: true`, `text()` straight after `reload()` is the fresh - contents, which is how `Perf.qml` samples `/proc/stat` and hwmon every 2s - without a subprocess. hwmon numbers move across boots; look chips up by - their `name` file. +- **`FileView` reads `/proc` and `/sys` fine, but only on `reload()`.** The + reload is what matters, not `blockLoading`: measured, `reload()` then `text()` + returned the contents from *before* the reload, for a regular file and for + `/proc/stat` alike, and only `waitForJob()` between them returned the new ones + (the docs agree: `reload()` will not block if `blockLoading` is set, only + `blockAllReads` will). `Perf.qml` reloads and reads without it, so a sample + reads the previous interval's numbers; `notes` writes `reload()` + + `waitForJob()`. hwmon numbers move across boots; look chips up by their `name` + file. - **A hot reload does not resize an existing layer surface.** Raising the island's `implicitHeight` from 360 to 480 reloaded cleanly while `hyprctl layers` still reported `h: 360` and the performance panel stayed cut off; |
