diff options
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -19,6 +19,7 @@ modules. island/ top-centre pills on DP-1: clock, volume, tray, layout, privacy, calendar, OBS assistant/ the assistant canvas on SUPER+Home, a view over desktop-assistant + companion/ a chibi 2B, bottom-right of the focused monitor, on SUPER+\ window-switcher/ expose: open windows scattered as live previews, on ALT+TAB or the top-right hot corner of DP-1 keybinds/ live keybind reminder, on SUPER+k @@ -207,6 +208,12 @@ changing that component. The ones that generalise: `Settings.qml`, which imports Controls, `Button { icon: ... }` became the Controls button and logged `Unable to assign QString to QQuickIcon`. A file that imports Controls builds its buttons from a `Rectangle` instead. +- **Plain `import QtQuick` shadows a directory's own `Sprite.qml` too.** + QtQuick ships a `Sprite` type (for `AnimatedSprite`), and an explicit + import beats the implicit directory one, so the companion's `Sprite { + onSettled: ... }` failed with `Cannot assign to non-existent property + "onSettled"` and took the whole desktop shell down on restart. It is + `Figure.qml`. Before naming a component, check it is not a QtQuick type. - **`FloatingWindow.maximized` works under Hyprland.** Setting it fills the monitor and clearing it restores the old size, checked by eye; the settings window's titlebar row uses it, since Hyprland draws no decorations. @@ -358,6 +365,11 @@ changing that component. The ones that generalise: - **The old waybar notification module shelled out to `dunstctl`.** It and its `notifications.py` are archived under `~/bin/archive/`, with the rest of the stock waybar theme; do not resurrect them. +- **The shell's JS engine has no `Array.prototype.flatMap`.** A binding + using it throws `TypeError: Property 'flatMap' of object [object Object] + is not a function`, which shows only in `qs log`; a Repeater bound to it + simply builds nothing. Use `reduce((a, x) => a.concat(...), [])`. Seen + with the assistant page's cloud Prefer rows (2026-10-23). - **A `Socket` whose connect failed never retries.** Quickshell 0.3.1 keeps the failed `QLocalSocket`, so setting `connected = true` again (or toggling it, or changing `path`) is a no-op: `setConnected` only connects when no @@ -492,6 +504,13 @@ correct and a fresh `qs` process rendered it. Force the rescan by changing a file that imports the directory (`desktop/shell.qml`), or restart the shell. Touch alone does not reload: the content must change. +Changing `desktop/shell.qml` can fail on a type it did not touch. Twice in +one session, an edit adding an import to it hot-reloaded into `Failed to +load configuration`, `UdtModule is not a type` and then `SunsetModule is +not a type`, both existing modules in `modules/appearance/` that a fresh +process resolved fine. The old config kept running; `./reload.sh desktop` +loaded the new one cleanly. Expect a restart after any `shell.qml` edit. + Switching git branches under a running shell can drop a component until a restart. Merging the island branch meant a moment on master without `desktop/island/`; the shell hot-reloaded then, logged `Ignoring unresolvable |
