mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-11-14 12:53:43 +01:00
New extras scenario e2e/platforms/qemu_windows/extras/bar.py, registered in run.py as `bar` (runs after the tiling windows, like the other Windows extras). It starts komorebi-bar in the guest with a configuration that has storage, time, applications, komorebi workspaces and layout widgets, the Windows-only Keyboard and Systray widgets and a `mouse` block (a message and a command), and checks: `komorebi-bar --schema` equals the checked-in schema.bar.json byte for byte; the process starts and its window titled komorebi-bar appears, visible and sized; it runs 15 s (scaled); `komorebic state` answers and komorebi does not tile the bar; commands that notify the bar work; the bar survives `komorebic stop` and the daemon starting again as the same process (it reconnects: it does NOT exit when the daemon stops, so the task text "exits cleanly when komorebi stops" is checked as `komorebic stop --bar` ending daemon and bar); screenshots are kept as artefacts, no pixel assertions. No known failures. Plumbing: run.py uploads komorebi-bar.exe when the binaries directory has it (other scenarios do not need it, so older build-ref directories still work), the nix app copies it and sets KOMOREBI_E2E_BAR_SCHEMA to the checked-in schema (the e2e directory alone does not contain it), build-ref.sh builds it. README and docs/dev/bar-e2e.md document it. Verified: py_compile and ruff clean; the runner and library unit tests: 157 passed; flake.nix parses. NOT run: the scenario itself (the Windows guest is reserved for gates), so every check is untested against a real bar and may need adjusting (window title, timings, the Systray widget inside the VM). Needs gate: win-e2e `bar`.