mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-11-14 04:43:42 +01:00
Deep dedup D-coord-13 (1), the container API. BEHAVIOUR (type-checked and clippy-clean with the fake CC; the macOS tests are the oracle). ContainerExt is deleted. Its four methods were the shared Container's with the monitor's corner as an argument; every call (about 28 sites in window_manager.rs, process_event.rs, scrolling.rs, workspace.rs, monitor.rs) is now the shared one: add_window(window, spot), load_focused_window(spot), hide(omit, spot), restore(), with spot = workspace.hide_spot() (MacosPlatform::hide_spot: the workspace's corner, no display, which is what the old calls passed; hide_on's screen argument was None at every remaining caller; the whole-workspace hide with the display is Workspace::hide, already shared). The nine window manager functions that differed from KDE's only in these calls (add_window_to_container, cycle_container_window_in_direction, cycle_container_window_index_in_direction, focus_container_window, stack_all, monocle_on, monocle_off, cycle_monocle, transfer_window) now differ from KDE's text only in the spot and in the error policy (let _ against ?), which the next revisions remove. Two things change at run time, both small: monocle_on and cycle_monocle took the corner from the monitor (monitor.extra.window_hiding_position) and now take it from the workspace's state, which the monitor writes into every workspace when it updates their globals, so they differ only if a workspace's globals are stale (a config reload without a layout update in between); and Container::restore skips the Accessibility call under cfg!(test), as hide and load_focused_window already did. Verified: fast-check macOS PASS; fake-CC cargo clippy -p komorebi-macos --all-targets -D warnings clean. Not verified: any macOS test or run. Verified on the Mini: not yet. Hand check row added to docs/dev/macos-handcheck.md.