github LGUG2Z/komorebi v0.1.35

latest release: nightly
9 days ago

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)

Don't miss a new komorebi release

NewReleases is sending notifications on new releases.