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
)