• Stable

    adam released this 2025-12-10 02:06:14 +01:00 | 28 commits to master since this release

    📅 Originally published on GitHub: Thu, 11 Dec 2025 01:33:24 GMT
    🏷️ Git tag created: Wed, 10 Dec 2025 01:06:14 GMT

    v0.1.39 (2025-12-09) - Rescue Complex Automatic

    Notes

    komorebi now identifies devices enrolled in mobile device management (MDM) and displays a splash to inform you how to apply your individual commercial use license (if you have purchased one)

    If you are running komorebi on a corporate device enrolled in MDM, you can optionally run komorebic license <email associated with your license> to remove the splash

    No information about your device leaves your system as part of MDM enrollment identification or license application

    Running komorebic license <email> executes a single HTTP request with only the email address provided

    If you are running komorebi on an educational device provided by your school which is enrolled in MDM, you can email me from the email address associated with your educational institution to remove the splash

    No functionality is added, removed or gated if you are running komorebi on a device enrolled in MDM

    Bug Fixes

    • bar: update the network widget in a separate thread (faed6ec5)
    • client: expose more useful structs (a733fecb)
    • wm: promoting a container shouldn't change resize dimensions (31c969fc)
    • docs: replace deprecated aliases in komorebi.bar.example.json (a77b3e77)
    • wm: simplify stack-all command (18ee6678)
    • bar: update network interface less frequently (8d085df1)

    Code Refactoring

    • cli: use "args" var name uniformly (a0239fae)
    • rust: use eyre::Result uniformly (6eb2905e)
    • rust: upgrade to edition 2024 part 2 (clippy --fix) (52a745d0)
    • rust: upgrade to edition 2024 part 1 (80877cc4)
    • rust: remove getset dependency (539aeec9)
    • rust: standardize on ok_or_eyre and bail! (bcfb058b)

    Features

    • wm: remove scrolling layout column fallbacks (df2adde1)
    • wm: make promote-swap reversible (df38facf)
    • wm: promote containers by swapping indices (416dd946)
    • wm: add visual feedback for preselection (d0ae92ca)
    • wm: add direction preselection (adbb6c1c)
    • cli: add feedback to the license cmd (1a42c646)
    • wm: add a splash screen for mdm devices (b6139864)
    • wm: add opt to constrain grid layout by rows (2abe6183)
    • wm: track virtual desktop ids on state and global state (e953715f)
    • wm: add opt to keep focused column centered on scrolling layout (2ac19291)

    Documentation

    • wm: update splash for students (71402fe0)
    • schema: update jsonschema (ac67c413)
    • readme: add note for people looking for komorebi for mac (3491dc75)
    • cli: add eol annotations to ahk flags (b2550584)

    Continuous Integration

    • github: render backticks in bug report template (69086299)
    • github: reduce workflow costs (f99c82f5)
    • github: make sure clippy is installed (3e9947c2)

    Chore

    • release: v0.1.39 (8f982e45)
    • deps: update dependencies.json (309bfdfe)
    • deps: cargo update (999dd5d2)
    • deps: cargo update (4114b10b)
    • deps: bump actions/checkout from 5 to 6 (5c2767d5)
    • deps: bump whkd to v0.2.10 (4ebba08b)
    • deps: handle egui-related upgrades (c8c4c350)
    • deps: bump actions/upload-artifact from 4 to 5 (e93751aa)
    • deps: bump actions/download-artifact from 5 to 6 (9872dcd0)
    • deps: bump windows-rs (e33a5f28)
    • deps: bump sysinfo and which (15d069f2)
    • deps: bump egui and eframe to 0.32 (1c23439f)
    • deps: cargo update (160cb720)
    • clippy: apply latest fixes (5d48a5c5)
    • dev: begin 0.1.39-dev (e07b464b)
    Downloads
  • Pre-Release

    adam released this 2025-12-06 23:02:52 +01:00 | 31 commits to master since this release

    📅 Originally published on GitHub: Sun, 07 Dec 2025 14:59:36 GMT
    🏷️ Git tag created: Sat, 06 Dec 2025 22:02:52 GMT

    nightly (2025-12-06)

    Bug Fixes

    • bar: update the network widget in a separate thread (faed6ec5)
    • client: expose more useful structs (a733fecb)
    • wm: promoting a container shouldn't change resize dimensions (31c969fc)
    • docs: replace deprecated aliases in komorebi.bar.example.json (a77b3e77)
    • wm: simplify stack-all command (18ee6678)
    • bar: update network interface less frequently (8d085df1)

    Code Refactoring

    • rust: use eyre::Result uniformly (6eb2905e)
    • rust: upgrade to edition 2024 part 2 (clippy --fix) (52a745d0)
    • rust: upgrade to edition 2024 part 1 (80877cc4)
    • rust: remove getset dependency (539aeec9)
    • rust: standardize on ok_or_eyre and bail! (bcfb058b)

    Features

    • wm: remove scrolling layout column fallbacks (df2adde1)
    • wm: make promote-swap reversible (df38facf)
    • wm: promote containers by swapping indices (416dd946)
    • wm: add visual feedback for preselection (d0ae92ca)
    • wm: add direction preselection (adbb6c1c)
    • cli: add feedback to the license cmd (1a42c646)
    • wm: add a splash screen for mdm devices (b6139864)
    • wm: add opt to constrain grid layout by rows (2abe6183)
    • wm: track virtual desktop ids on state and global state (e953715f)
    • wm: add opt to keep focused column centered on scrolling layout (2ac19291)

    Documentation

    • wm: update splash for students (71402fe0)
    • schema: update jsonschema (ac67c413)
    • readme: add note for people looking for komorebi for mac (3491dc75)
    • cli: add eol annotations to ahk flags (b2550584)

    Continuous Integration

    • github: render backticks in bug report template (69086299)
    • github: reduce workflow costs (f99c82f5)
    • github: make sure clippy is installed (3e9947c2)

    Chore

    • deps: cargo update (999dd5d2)
    • deps: cargo update (4114b10b)
    • deps: bump actions/checkout from 5 to 6 (5c2767d5)
    • deps: bump whkd to v0.2.10 (4ebba08b)
    • deps: handle egui-related upgrades (c8c4c350)
    • deps: bump actions/upload-artifact from 4 to 5 (e93751aa)
    • deps: bump actions/download-artifact from 5 to 6 (9872dcd0)
    • deps: bump windows-rs (e33a5f28)
    • deps: bump sysinfo and which (15d069f2)
    • deps: bump egui and eframe to 0.32 (1c23439f)
    • deps: cargo update (160cb720)
    • clippy: apply latest fixes (5d48a5c5)
    • dev: begin 0.1.39-dev (e07b464b)
    Downloads
  • Stable

    adam released this 2025-09-13 02:36:04 +02:00 | 72 commits to master since this release

    📅 Originally published on GitHub: Sat, 13 Sep 2025 18:49:12 GMT
    🏷️ Git tag created: Sat, 13 Sep 2025 00:36:04 GMT

    v0.1.38 (2025-09-12) - The Voice of Hind Rajab

    Bug Fixes

    • cli: fix typo in the toggle-pause docs (4d0df9c5)
    • wm: move last_focused_workspace logic to focus_workspace method (ccd2f3a4)
    • wm: prevent stack-all issues with n>1 stacks on ws (98c5ab3b)
    • stackbar: show regular cursor on hover (41e18bcc)
    • schema: flatten bar mouse config opts (3d373b36)

    Code Refactoring

    • clippy: apply lints (3c44f3bf)
    • wm: move 'locked' flag down to containers (6416c0b6)

    Features

    • wm: implement Clone for State, Notification and NotificationEvent (1db572f7)
    • bar: add config opts for ro and removable disks (3dad7753)
    • wm: add config option to set tiling (f40fb9a2)
    • cli: change quickstart to prompt user before writing files (b4e16e43)
    • config: add work-area-offset per workspace (59c3c147)
    • shortcuts: show all hotkey bindings (7839980d)
    • stackbar: set title as default label (21cb5e1e)
    • wm: add scrolling layout (b4e61b07)

    Performance Improvements

    • cargo: add release-opt profile (2c00d799)

    Tests

    • wm: monocle on and off on nonexistent container (c879aae1)
    • wm: toggle monocle on nonexistent container (7e87e831)
    • wm: toggle maximize a nonexistent window (aae9338f)
    • wm: float nonexistent window (f68a709f)
    • wm: cycle windows in an empty container (c76846ac)
    • wm: remove nonexistent window from container (b29dd8b1)

    Documentation

    • mkdocs: run docgen, depgen and jsonschema targets (78177af6)

    Chore

    • release: v0.1.38 (ffa76ea2)
    • deps: bump actions/github-script from 7 to 8 (86e0d408)
    • deps: cargo update (48f6ac89)
    • deps: cargo update (4c2e8ff6)
    • deps: bump reqwest from 0.12.22 to 0.12.23 (db96f2cc)
    • deps: bump clap from 4.5.41 to 4.5.45 (a37a6752)
    • deps: bump shadow-rs from 1.2.0 to 1.2.1 (f8ea62f8)
    • deps: bump serde_json from 1.0.141 to 1.0.142 (93bb4173)
    • deps: bump actions/download-artifact from 4 to 5 (280352ee)
    • deps: bump actions/checkout from 4 to 5 (7619b9b4)
    • deps: bump slab from 0.4.10 to 0.4.11 (72a4d527)
    • deps: bump netdev from 0.35.3 to 0.36.0 (7e242ada)
    • deps: bump shadow-rs from 1.1.1 to 1.2.0 (5b2acd0f)
    • deps: cargo update (ec0bbaae)
    • deps: cargo update (f6ccec95)
    • deps: cargo update (009c0dcd)
    • deps: bump netdev from 0.34.0 to 0.35.1 (d4eeec99)
    • deps: bump reqwest from 0.12.15 to 0.12.19 (e9ed1cfd)
    • deps: bump clap from 4.5.38 to 4.5.39 (4a2eb391)
    • dev: begin v0.1.38-dev (eec6312a)
    Downloads
  • Stable

    adam released this 2025-05-17 20:44:55 +02:00 | 116 commits to master since this release

    📅 Originally published on GitHub: Sat, 17 May 2025 19:24:34 GMT
    🏷️ Git tag created: Sat, 17 May 2025 18:44:55 GMT

    v0.1.37 (2025-05-17) - Rahaf

    If you use komorebi for personal use please make a donation to the Palestine Children's Relief Fund.

    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: disallow toggle-float if ws has a monocle container (6f1d6dbd)
    • wm: don't reap ws windows when using hide instead of cloak (82c22416)
    • animation: avoid redundant async window pos calls (6e7d8fb9)
    • borders: destroy all if a different vd is detected (917cd9b7)
    • wm: fix unresponsiveness by using asynchronous window handling (4ca2e838)
    • wm: ensure default CrossBoundaryBehaviour consistency (74e93e55)
    • wm: reset global configs to default on removal (86e78570)
    • wm: fix eager focus on hidden stacked window (c408c114)

    Code Refactoring

    • bar: app widget and icon caching (3019eaf8)
    • wm: log errors when allow_set_foreground_window fails (46d5ea4a)
    • wm: add window handling sync/async enum (bdbd665b)

    Features

    • wm: floating over monocle (50c850cb)
    • cli: add focused-container-kind state query (270ea5aa)
    • bar: send commands by mouse/touchpad/screen (3d8f68e5)
    • shortcuts: add helper written in egui (70f561e6)
    • wm: toggle monocle off on monitor container moves (4ea835fa)
    • wm: toggle monocle off on ws container moves (09137af3)
    • bar: hide when leaving komorebi's virtual desktop (577364a5)
    • bar: improve path handling on apps widget (17cd0308)
    • bar: add applications widget (10424b69)
    • wm: add configuration option for async window handling (f3f20984)
    • animation: cubic-bezier for styles (31752e42)
    • wm: float placement configs (3ee3aac8)

    Build

    • cargo: propagate expensive schemars feature correctly (6a10d583)

    Tests

    • wm: swap container with non-existent container (5a1af5b1)
    • wm: switch focus to non-existent monitor (74c43318)
    • wm: swap workspace with non-existent monitor (71bb346c)
    • wm: transfer window to nonexistent monitor (80bb7288)
    • wm: move workspace to non existent monitor (76c833f6)
    • workspace: move window to non existent container (80bce4be)
    • workspace: remove a non existent window (8c105473)
    • monitor: move container to a nonexistent workspace (8f886b3f)
    • monitor: remove nonexistent workspace (53c38e15)
    • wm: add window handle to move based on workspace rules test (5e308b91)
    • wm: ensure named workspace for monitor test (1bf53b89)
    • wm: test toggle_monocle and toggle_maximize (11690c60)
    • wm: monocle on and off test (3457dfc0)
    • wm: test maximize and unmaximize window (af1c9b5a)

    Documentation

    • schema: update jsonschema and docgen (3feff1dc)
    • mkdocs: updates to prepare for v0.1.37 (309dd159)
    • schema: update schema.json (6608e5a5)

    Continuous Integration

    • github: skip backwards compat test (e75578d9)

    Chore

    Downloads
  • Stable

    adam released this 2025-04-12 19:52:31 +02:00 | 166 commits to master since this release

    📅 Originally published on GitHub: Sun, 13 Apr 2025 03:20:08 GMT
    🏷️ Git tag created: Sat, 12 Apr 2025 17:52:31 GMT

    v0.1.36 (2025-04-12) - Health Care in Danger

    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

    • config: update monitor wallpaper on reload (3a8a6111)
    • bar: avoid retile messages on ws switch (b6e261ae)
    • borders: avoid deadlock on state hashmaps (d40c3043)
    • wm: remove border width/offset when disabled (6db73151)
    • docs: borders are enabled by default (2d6ff070)
    • cli: restart bar on replace-configuration (13a519fb)
    • wm: properly update border colors (10ab43a8)
    • wm: skip serde on WorkspaceGlobals (fa2ccad5)
    • bar: re-introduce retain exact workspace indices (052eb1c7)
    • client: re-export FloatingLayerBehaviour (96fdbbd1)
    • bar: fall back to older pid icon lookups (d8978900)

    Code Refactoring

    • clippy: apply new rust lint fixes (7d821cd3)
    • themes: move colour.rs to komorebi-themes (2ee0bbc0)
    • wm: refactor alt-tab reconciliation (58097350)
    • wm: add dep injection to monitor reconiliator (64d29d60)
    • wm: consolidate handling of ws container insertion/removal (a95e6e96)

    Features

    • config: add per-monitor floating layer behaviour opt (d24beb60)
    • wm: drop empty containers on ws update (69d252ba)
    • core: use PathExt to unify env var resolution (9f8e4b9d)
    • cli: add session float rule cmds (c8320552)
    • wm: allow setting wallpaper per monitor (2a5a960c)
    • wm: apply wallpapers per monitor (0e8ed8aa)
    • bar: changing battery icons (3c4ccd25)
    • bar: auto select/hide widget based on value (f4bbee0a)
    • cli: add datadir cmd (71762a59)
    • cli: add focused-workspace-layout query (76aeefa9)
    • themes: generate base16 palette from wallpaper (4968b0fe)
    • themes: add custom base16 theme variant (b4b400b2)
    • bar: add locked container widget, use accent colour for icons (d38d3c95)
    • gui: add floating and locked border colours (58730b81)
    • wm: add unfocused_locked to border_colours (274ae43e)
    • cli: add version as state query variant (2a30f09b)
    • wm: add flag to set logging verbosity (acd53dec)
    • config: add floating ws layer behaviour opt (a98968d1)
    • wm: show float windows in order on layer toggle (e4226ce6)
    • wm: focus floats depending on direction (4bfd7feb)
    • wm: track focused floating window (5cc688dc)
    • cli: add move/send-to-last-workspace cmds (e702d93a)
    • client: reexport win32_display_data (30fbc1ae)
    • bar: show icons for uwp apps (cb60e918)
    • wm: add locked containers per workspace (6ba19d3e)

    Performance Improvements

    • wm: clone-free locked deque insert/remove (072a62c3)

    Tests

    • wm: add float and lock toggle tests (7daf3242)
    • monitor.rs: ensure workspace count test (5a0196ac)
    • monitor.rs: move container to workspace test (46d0e340)
    • workspace: visible windows test (371ef88e)
    • workspace: add more workspace tests (de131e9c)
    • monitor_reconciliator: add initial tests (ce4b75cc)

    Documentation

    • mkdocs: reduce number of tabs to improve nav (2ac477d8)
    • mkdocs: add nvidia bar transparency workaround (2934d011)
    • license: bump to 2.0.0 (07dba032)
    • coc: move document from discord to github (8a322198)
    • mkdocs: fix some broken relative links (d0c847e5)

    Chore

    Downloads
  • 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
  • Stable

    adam released this 2025-02-21 03:06:19 +01:00 | 336 commits to master since this release

    📅 Originally published on GitHub: Fri, 21 Feb 2025 02:32:07 GMT
    🏷️ Git tag created: Fri, 21 Feb 2025 02:06:19 GMT

    v0.1.34 (2025-02-20) - Slow Burn

    Commercial Use Licensing

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

    As a reminder, 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.

    Notes

    A fix in this release changes undefined behaviour which previous users may have unknowingly come to rely on:

    • focus-workspace and related commands no longer forcibly focus the monitor at the cursor position before being executed (this was a pretty terrible case of UB to begin with, particularly for anyone who had mouse_follows_focus disabled)
    • If you want this same behaviour going forward, you should chain komorebic focus-monitor-at-cursor with your focus-workspace commands (eg. komorebic focus-monitor-at-cursor && komorebic focus-workspace 1.

    Bug Fixes

    • bar: removed unneeded separator character on network widget (d1680133)
    • wm: set default hiding behaviour to cloak (475519d6)
    • docs: correct sp in example-configurations.md (9f19d449)
    • docs: update base16 gallery link (bbd232f6)
    • wm: avoid focus loops on ws w/ floating hwnds (95d758e3)
    • wm: always preserve resize on monocle toggle (f3075efc)
    • reaper: reap invisible "visible" windows (80b61189)
    • borders: respond to sys foreground winevent w/ border manager event (afdbce3d)
    • wm: sort layout and behaviour rules (7f3b9326)
    • config: unset values on ws configs appropriately (59cd36a2)
    • wm: handle empty ws monitor switch w/ mff off (b8e8ac2c)
    • wm: populate ws rules on config reload (fcd1c9dc)
    • bar: consider all window types when hiding empty ws (f73f0a00)
    • wm: handle hide events for layered windows (0a2dbed1)
    • wm: respect mff on cross-monitor monocle focus (067a279c)
    • wm: stop wrongfully removing layout-flip (39621c14)
    • bar: pass reconnect event to bar (d7fcbb7d)
    • bar: simplify komorebi-bar config (3e1fc612)
    • wm: handle minimize event edge case (77ef259e)

    Code Refactoring

    • bar: resolve env vars with pathext (4123c9a0)

    Features

    • bar: add thai font fallback (5f31e89e)
    • client: expose custom layout column enum (e629baec)
    • bar: add keyboard language widget (2d2b6e5c)
    • client: add more re-exports for integrations (86bbcac5)
    • borders: add floating colour for windows impl (58d660eb)
    • cli: add focus-monitor-at-cursor cmd (be8af2b3)
    • config: add window container behaviour rules (c364b90b)
    • wm: use monitor hardware ids where available (e2f7fe50)
    • config: add object name change title ignore list (81c143d7)
    • bar: update bar on display connection change (4a836233)
    • wm: notify subscribers of monitor events (5c3c3659)
    • bar: add modifiers for strftime integer formatters (cfd89c27)
    • config: add aspect ratios for float toggling (473e7cd6)
    • wm: remove min window resize dimensions (1101baa7)
    • cli: add focused-workspace-name query (d09d16d2)
    • bar: add cjk font fallbacks (392e4cc0)
    • bar: binary clock and no-second time formats (a069db61)

    Build

    • just: add build and build-target(s) to justfile (2ca9c904)

    Performance Improvements

    • wm: reduce from sysinfo scan scope (db6e12b0)

    Tests

    • wm: add backwards compat integration test (eb6e12e2)

    Documentation

    • mkdocs: add note to update asc path (4f041123)

    Chore

    • release: v0.1.34 (80edcadb)
    • deps: bump os_info from 3.9.2 to 3.10.0 (36dedbe3)
    • deps: cargo update (83114ed3)
    • deps: bump getset from 0.1.3 to 0.1.4 (241f8a13)
    • deps: bump clap from 4.5.26 to 4.5.27 (bd0913a5)
    • github: update issue workflows (da156c09)
    • deps: bump serde_json from 1.0.135 to 1.0.137 (e153d2ea)
    • deps: bump bitflags from 2.7.0 to 2.8.0 (e01c3e3c)
    • deps: bump winreg from 0.53.0 to 0.55.0 (129dc5d4)
    • dev: begin v0.1.34-dev (b451df03)
    Downloads
  • Stable

    adam released this 2025-01-11 22:33:13 +01:00 | 387 commits to master since this release

    📅 Originally published on GitHub: Sat, 11 Jan 2025 22:37:43 GMT
    🏷️ Git tag created: Sat, 11 Jan 2025 21:33:13 GMT

    v0.1.33 (2025-01-11) - Dreams on a Pillow

    Commercial Use Licensing

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

    As a reminder, 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: preserve new padding when loading state (a4f69238)
    • bar: apply position on start (96f7eb1d)
    • wm: skip destroyed windows on rule enforcement (28cd4a88)
    • wm: avoid obvious border manager thread crash (281980b0)
    • wm: add uncloak as a notif override event (ba52dc33)
    • wm: avoid focused ws rule enforcement deadlock (44716fdc)

    Features

    • bar: opt to hide battery widget when charged (b1db417d)
    • config: use global padding when omitted on ws (2d97ee10)
    • bar: add update widget (3aa92a12)
    • cli: add stackbar-mode command (c063302c)
    • config: allow specifying layout flip on ws (4b30cecb)
    • cli: allow checking of arbitrary config files (d45cd729)

    Chore

    Downloads
  • Stable

    adam released this 2025-01-01 20:23:43 +01:00 | 403 commits to master since this release

    📅 Originally published on GitHub: Wed, 01 Jan 2025 19:46:08 GMT
    🏷️ Git tag created: Wed, 01 Jan 2025 19:23:43 GMT

    v0.1.32 (2025-01-01) - Sustainability

    Commercial Use Licensing

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

    As a reminder, 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

    • bar: prevent komorebi connection from staling (4babf336)
    • wm: focus prev idx when closing workspace (2c08fbe8)
    • bar: update widgets background color properly (d93b6fa1)
    • bar: network widget spacing (99353b80)
    • bar: apply theme on first frame (5ab5ec4f)
    • bar: use layout on Area to prevent shaking (ad08585f)
    • bar: fix background color clobbering (eb8a9888)
    • bar: apply roundings on komorebi.json change (0e2a55b3)
    • bar: use bg color before applying transparency (eda91dcd)
    • bar: use correct transparency_alpha (0c6317a2)
    • bar: apply work_area_offset on config change (5c81a8c9)
    • bar: handle komorebi theme change properly (a4128b72)
    • bar: use the frame.inner_margin config (73a4df88)
    • bar: actually save the config on apply_config (32a23431)
    • bar: normalize areas of widgets (0dc6780d)
    • wm: focus and update after apply state (804faef2)
    • cli: correct copy-paste typo in autostart (be0671be)
    • bar: prevent the bar from changing mff value (10539a4b)

    Features

    • cli: add version update checks (7ef4fd81)
    • docs: individual commercial use licensing (083ab650)
    • cli: add eager-focus command (e9bb6b43)
    • config: add matchers for removing titlebars (79eda30f)
    • wm: allow reapplying initial workspace rules (692da908)
    • bar: added icon_scale to the config allowing a custom value between 1.0 and 2.0 (cced2a44)
    • wm: allow stopping without restoring windows (f089d3e5)
    • bar: add two new display format types (d393f8fe)
    • bar: optional workspaces on Komorebi widget (c3769e78)
    • bar: scale icon size with font size (3c0b12f9)
    • wm: dump and load previous instance state (7bf15213)
    • wm: add transparency config to global state (b49e634b)
    • client: create send_batch helper (9463c75f)

    Documentation

    Chore

    • release: v0.1.32 (4b9d8114)
    • deps: cargo update (53a83eed)
    • deps: bump houseabsolute/actions-rust-cross from 0 to 1 (e1bbd3c1)
    • deps: bump egui to v0.30 (c64a42bc)
    • just: split schemagen into windows and nixos jobs (c31c5dc6)
    • dev: begin v0.1.32-dev (6c07863b)
    Downloads
  • Stable

    adam released this 2024-12-14 01:48:35 +01:00 | 442 commits to master since this release

    📅 Originally published on GitHub: Sat, 14 Dec 2024 01:03:41 GMT
    🏷️ Git tag created: Sat, 14 Dec 2024 00:48:35 GMT

    v0.1.31 (2024-12-13) - Luigi

    Bug Fixes

    • bar: only indicate focused window on stack (64382b18)
    • borders: floating window z-order handling (26f90cc9)
    • border: stop removing borders on wrong monitors (192af675)
    • cli: handle spaces in bar config paths (f227bd0f)
    • borders: update on resuming from suspend (3781c8ea)
    • wm: track all hwnds in known_hwnds (40b32332)
    • wm: cross-monitor ops for floating windows (8743cdd2)
    • client: add write-timeout to prevent blocking (01367f59)
    • wm: move ops on floating workspaces (e6ddccc5)
    • wm: cross-monitor max floating window moves (6f00c527)
    • wm: resize float windows moved across monitors (3ad4090d)
    • subscriptions: add override for title updates (9c09284b)
    • bar: correct network widget icon colour (b14c0d07)
    • wm: disallow focusing other windows when there is a maximized_window (3615451f)
    • wm: focus maximized windows when moving focus across monitors (6893f39d)
    • bar: read latest transparency_alpha value (ac243c69)
    • wm: ensure focus restore on float + max hwnds (d001d8a7)
    • wm: add read timeout to command socket (7f0b54c3)
    • animation: set pos for all container windows (b1726af2)
    • wm: apply ws cfgs only to declared ws indices (172988ed)
    • bar: retain exact workspace indices (36e3eaad)
    • cli: expand list of ahk executable names (dc1eb8ff)
    • cli: handle spaces in bar config paths (166f505a)

    Code Refactoring

    • clippy: apply rust 1.83.0 lints (b22ec904)
    • animation: new animations engine (449ccac6)
    • bar: use monitor idx when switching ws (041ef573)

    Features

    • bar: only collect enabled widgets (9d6173ec)
    • bar: network widget - added show_default_interface and use enable to toggle the whole widget (830da895)
    • bar: indicate clickable widgets (f59d7a51)
    • bar: 5 new grouping styles for shadow and glow (1470c63c)
    • borders: track window movements + animations (ede0b23b)
    • cli: add kill cmd (e6b5b788)
    • cli: add support for starting/stopping masir (440d78e8)
    • bar: komorebi widget visual changes (bb31e715)
    • bar: floating center area for widgets (46b81e43)
    • bar: support floating window title updates (3de96609)
    • bar: add widget grouping options (219fa8e1)
    • borders: use direct2d for anti-aliasing (e4e94fd1)
    • cli: add cycle-stack-index cmd (cc196db0)
    • cli: add close-workspace cmd (0f022d47)

    Performance Improvements

    • bar: add icon cache (9bd1073a)
    • cli: validate komorebi proc earlier on start (280ca0ff)

    Style Changes

    • bar: add aliases for default grouping style (0e48370b)

    Documentation

    • schema: update all json schemas (53c19904)
    • schema: update all json schemas (4f306e5b)
    • schema: update all json schemas (779c12bc)
    • bar: add a position.end.y val warning (8de92ec3)
    • readme: add gazafunds link (e707a14b)
    • github: add pull request template (fd8cd4bb)

    Continuous Integration

    • github: bump winget-releaser from v2 to main (91b25528)

    Chore

    • release: v0.1.31 (40c55dec)
    • deps: cargo update (5cc2d9d4)
    • deps: cargo update (33800903)
    • deps: bump serde from 1.0.214 to 1.0.215 (1d001962)
    • deps: bump serde_json from 1.0.132 to 1.0.133 (639ebd0b)
    • deps: bump clap from 4.5.20 to 4.5.21 (e22eafbc)
    • deps: bump rustls from 0.23.16 to 0.23.18 (46c2ad51)
    • deps: bump catppuccin-egui from 5.3.0 to 5.3.1 (818ec1c6)
    • deps: bump thiserror from 1.0.68 to 2.0.3 (a10bb467)
    • deps: bump image from 0.25.4 to 0.25.5 (4fd60bbf)
    • dev: begin v0.1.31-dev (d55d356b)
    Downloads