• Stable

    adam released this 2025-03-21 05:17:55 +01:00 | 226 commits to master since this release

    📅 Originally published on GitHub: Sat, 22 Mar 2025 17:50:42 GMT
    🏷️ Git tag created: Fri, 21 Mar 2025 04:17:55 GMT

    v0.1.35 (2025-03-20) - Ghazza al 'Izza

    Commercial Use Licensing

    A dedicated individual commercial use license for komorebi is now available.

    As a reminder, komorebi is educational source software, and the Komorebi License is strictly for personal use only and forbids any kind of commercial use - if you want to use komorebi at work, you need to purchase an individual commercial use license.

    Bug Fixes

    • wm: change when floating windows are centered (24791f0c)
    • wm: unset all duplicate monitor serial ids (6b95bf95)
    • borders: show regular cursor on hover (53294940)
    • wm: correct workspace restore + remove workarounds (9f16894a)
    • borders: update monitor_idx on all borders (be2af9fd)
    • wm: correctly focus workspace on eager-focus (c083484e)
    • borders: do multiple render passes when required (5919f88b)
    • wm: focus when switching to ws with only floating windows (f0ce8e85)
    • bar: limit new state freq on time and date (9f3d806f)
    • bar: add focus-monitor-at-cursor msg to buttons (3618beb3)
    • wm: use preferred id when caching monitors (a4de2ee8)
    • wm: correct float window move/resize (60e1834b)
    • wm: update layer on cross monitor moves (54323c4c)
    • wm: focus correct window if monocled stack (ea9752d5)
    • client: expose schemars feature and allow opt-out (fe20caa5)
    • bar: correct time widget binary format alignment (02a2796e)
    • bar: add opt schemars derive on test case (a0eb025c)
    • borders: ignore borders on all stack window updates (70a61376)
    • border: update border when moving from admin windows (724b0b76)
    • wm: preserve resize dimensions on offset toggle (dd577c0e)
    • bar: always add stroke on selected_frame (7d497c3e)
    • wm: allow stacking in all dirs, improve stack border rendering (b26910aa)
    • borders: address memory leaks (487c2174)
    • bar: use accent color for active widget components (59544edb)
    • wm: prevent floating focus change event infinite loops (20817b09)
    • reaper: avoid deadlocks at startup (394709e3)
    • bar: apply work area offset on monitor reconnect (990a339d)
    • wm: properly load monitor on first connect (f0222dd4)
    • wm: hide/restore floating windows on monocle toggle (13ee4227)
    • wm: take layer into account on ws restore (3641ce6b)
    • wm: include workspace rules on cached monitor (1edeb442)
    • bar: improve handle monitor lifecycle handling (c095f8ae)
    • wm: increase monitor_reconciliator channel bound (60bc83d4)
    • wm: check for monitor changes on system resume (9c8a6392)
    • bar: check monitor connection on all notifications (b7ebd3fe)
    • wm: don't panic if state isn't up to date (ec8519d7)
    • bar: restore + reposition on monitor reconnect (c62405bf)
    • wm: cache monitor state instead of config (0126465d)
    • wm: update usr idx map when there are no index preferences (a1ab1c57)
    • bar: handle monitor disconnect/reconnect (302e96c1)
    • wm: remove ws rules from disconnected monitors (ff986fba)
    • wm: handle serial id on load_monitor_information (e408410c)
    • wm: serde skip annotation for workspace_config (c9e98c3c)
    • wm: restore orphaned containers (b42fcbe5)
    • wm: don't store empty layout_rules on monitor cache (d8636d65)
    • wm: cache monitor configs for unloaded monitors (9ad32e40)
    • wm: improve display_index_preferences selection (c91cb9f0)
    • wm: properly store tile state when caching ws (4f7a8f10)

    Code Refactoring

    • bar: move widgets to new folder (bdea4821)
    • bar: add extend_enum! macro (974e5a2b)
    • wm: make workspace fields public (6a8e362c)
    • wm: make monitor fields public (be932078)
    • wm: store config on workspace (52340a14)

    Features

    • wm: toggle float override with floating layer (df9ae931)
    • wm: center windows spawned during float override (b6bd191c)
    • wm: toggle float override with floating layer (ff2aa5e5)
    • config: allow multiple asc files (fe9a1416)
    • bar: add changing icons based on the time (acf78076)
    • bar: added timezone to time and date widgets (81a79513)
    • cli: add cycle-empty-workspace cmd (0c64432c)
    • border: cache borders on all workspaces (0776ca15)
    • bar: add icons to workspace-layer widget (a837fea4)
    • wm: move all windows on ws layer toggle (4031fbf0)
    • bar: add opts to show all icons on workspace widget (d69dfeb7)
    • wm: add padding per monitor (2bbc269b)
    • wm: add tiling and floating ws layers (9d41a293)
    • wm: strip unncessary info from state (e5fb5390)
    • cli: add toggle-window-based-work-area-offset cmd (30c22f51)
    • wm: register more monitor reconcilator events (c455ad13)
    • wm: keep track of known_hwnds on wm (1cd28652)
    • wm: add monitor_usr_idx_map to wm (c05eab90)
    • wm: support both serial numbers and device ids (3ade8144)

    Build

    • cargo: add custom build profiles (17569839)

    Performance Improvements

    • client: disable schemars feature on komorebi lib dep (17619197)
    • cargo: make schemars derives optional (b53de817)
    • reaper: switch to channel notifications (3d327c40)

    Tests

    • monitor: add tests for ws and containers fns (fa07f2d2)
    • container: add tests for addition and removal (cc4e2041)
    • workspace: add container and window tests (532436fe)
    • workspace: add container manipulation tests (83d11c6f)
    • wm: add cycle window tests (1ba1c57b)
    • wm: add tests for ws movement + tiling state (1804b21c)
    • wm: add tests for additions, removals and swaps (229aeb7d)
    • wm: add container transfer and cycle tests (894b6f3d)
    • wm: add workspace and monitor tests (8e588d02)
    • wm: don't rely on datadir for socket location (555308db)
    • wm: colocate tests with src files, add socket msg test (76002385)
    • wm: add window manager unit tests (f40e80cd)

    Documentation

    • mkdocs: add initial pages of usage section (42c12d5e)
    • mkdocs: add multi monitor common-workflows section (17cbdc86)
    • readme: add active individual commercial use licenses count (e6398c29)

    Chore

    • release: v0.1.35 (992bc2ab)
    • deps: bump windows-rs from 0.60 to 0.61 (c0e1e936)
    • deps: bump reqwest from 0.12.12 to 0.12.14 (ec4a5e64)
    • deps: bump uuid from 1.15.1 to 1.16.0 (f6e99eaa)
    • deps: bump starship-battery from 0.10.0 to 0.10.1 (a6cf801a)
    • deps: cargo update (6516c808)
    • deps: bump netdev from 0.32.0 to 0.33.0 (7ccdff49)
    • deps: bump random_word from 0.4.3 to 0.5.0 (c48e1db0)
    • deps: bump ring from 0.17.11 to 0.17.13 (91ff9b88)
    • deny: allow unmaintained crate paste (c90769f5)
    • deps: add deny.toml and dependencies.json (e4f9d8af)
    • deps: cargo update (1325da4e)
    • deps: bump eframe to 0.31 (ca893140)
    • deps: bump shadow-rs from 0.38 to 1 (dadc4077)
    • deps: bump win32-display-data (5e2c18ca)
    • just: add wpm target (3a208b57)
    • deps: bump windows-rs from 0.58 to 0.60 (8bc04f06)
    • deps: update win32-display-data rev (ce992900)
    • dev: begin v0.1.35-dev (c903cdbb)
    Downloads