diff --git a/docs/dev/suite-ledger.md b/docs/dev/suite-ledger.md index 64eda962..0bd3b304 100644 --- a/docs/dev/suite-ledger.md +++ b/docs/dev/suite-ledger.md @@ -31,3 +31,39 @@ scenario checks the managed count and where the windows are, not the count of co monitor. The windows are where the layout puts them, which is what that count stood for. The suite goes from 25 checks plus the shared ones to 28, which is the shared 11 and 17 of KDE's. + +## commands + +The suite had its own layout loop (section 2) and then called the shared `layouts`, `sweep` and +`prints`. Nothing the shared scenarios check was removed except as listed; the rest moved to +`kde_commands`, which reads KWin and the daemon's log. + +| Was (section) | Now | +|---|---| +| 1, the daemon answers with both outputs; five windows | extra `setup` | +| 2, every layout with five windows: inside the outputs, apart, healthy | shared `layouts`; the extra repeats it at five windows, see below | +| 2, every layout with three, two and one windows | extra `layouts_by_count` | +| 2, each window where the daemon last asked KWin for it | extra `layouts_by_count` (KDE only: reads the daemon's log) | +| 3, the layouts and the sweep of commands | shared `layouts` and `sweep` | +| 3, `replace-configuration` made the window manager from the file | extra `replace_configuration` | +| 3b, `minimize`, `unmanage`, `manage` | extra `handover` | +| 3c, a title rule decides when the window has its title | extra `title_rule` | +| 4, every command that only prints | shared `prints` | +| 4, `komorebic query ...`, `quick-save-resize`, `save-resize` | extra `queries` (candidates for the shared list) | +| 5, every window is where the daemon last asked; a clean stop | extra `at_the_end` | + +The extra's layout loop still goes through five windows, for the daemon's log check at that count; +it states its overlap verdict for five windows too, so that one is made twice. Dropping it from the +extra would lose the five-window `where asked` check, which is KDE's. + +## drag-resize + +The suite's own cases are all KDE's: the pointer put to the pixel, and eight drags of edges and +corners checked against frames, tiles and neighbors. None of them is removed; they moved to +`kde_drag_resize` as `pointer_is_exact` and `edge_cases`, and the suite calls the shared `resize` +and `focus_follows_mouse` after them, as before. The shared `resize` makes one drag of one edge, +which the extra's `win1:right:...` cases also make: that is a repeat by design, because the extra +reads the daemon's tiles and the frames together, and the shared one reads only the system. + +One run of the suite failed `win2:left:-240,0` ("frame R moved -96 but was not dragged": the +terminal's frame four cells short of an unchanged tile) and the next passed; not seen again.