diff options
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -143,17 +143,24 @@ changing that component. The ones that generalise: dominfo <vm>` grepped for `Managed save: yes`, polled per VM the way the agent rows are. It measured 6ms. - **Tray menus need `//@ pragma UseQApplication`** at the top of the root QML - file. Without it `SystemTrayItem.display()` and `QsMenuAnchor.open()` only log a qCritical ("not - started in QApplication mode") and nothing opens. Pragmas are read at launch, + file. Without it `SystemTrayItem.display()` and `QsMenuAnchor.open()` only + log a qCritical ("not started in QApplication mode") and nothing opens. Pragmas are read at launch, before the first import, so adding or changing one needs a restart, not a hot reload. `desktop/shell.qml` carries it. - **A tray menu is a separate popup, and hovering it un-hovers the island.** - The pills lose the pointer, so the hide timer would close the island under + The pills lose the pointer and the hide timer would close the island under the open menu, so the island holds itself shown while one is open. `display()` reports no close, and holding until the pointer returned left the island stuck open after a menu's Quit, with the pointer on the menu. Menus open through a `QsMenuAnchor` instead, whose `closed` signal fires on any dismissal and ends the hold. +- **`SplitParser` can hand a line over with the previous blank line still + attached.** Streaming `top -b`, every frame header after the first arrived + as `"\ntop - ..."`, so `startsWith("top - ")` matched once and the + process table never filled, with nothing in the log. Match with + `/^\s*.../`. A shell pipe shows no such thing, so test the parse inside + `qs`, and capture with a live reader rather than a killed `top > file`, + which flushes on exit and hides buffering too. - **A mouse button nothing accepts does not reliably fall through to a catcher underneath.** The drawer's back button (`BTN_SIDE`, `Qt.BackButton`) never reached a full-surface `MouseArea` below the panel while a page was |
