github OmniNull/OmniWM v0.7.6
OmniWM v0.7.6

one hour ago

What's New Since 0.7.5

Auto-hide the Workspace Bar like the Dock, switch focus between floating and tiled windows, and see when Secure Input blocks shortcuts. OmniWM 0.7.6 also restores two-finger scrolling in apps alongside column scrolling, swipes between workspaces with less background capture and fewer desktop flashes, trims idle input work, and fixes translations in all 20 languages.

Gestures and workspace swipes

  • Scroll apps with two fingers again. Column scrolling armed a gesture at the start of every two-finger scroll, so apps such as browsers ignored the rest of the scroll. Column scrolling now uses three or four fingers, like Overview, and a stale momentum-suppression state no longer swallows a new scroll after a gesture.
  • Capture swipe previews only when a swipe starts. Touching the trackpad no longer opens live screen-capture streams for every window on the current and neighboring workspaces. A touch captures only windows without a cached image, and live capture starts when a workspace swipe is recognized, for just the two workspaces involved. In manual traces on an M4 Max with debug builds, live capture requests fell from 4.9 to 3.0 per swipe, none started on finger contact, and three-finger column scrolls started none; replayd CPU was not measured.
  • See the desktop less often at the end of a swipe. After a swipe settles, the overlay now stays until WindowServer reports the incoming windows mostly in their new places and the outgoing ones mostly moved away, waiting at most 250 ms longer. Some brief flashes can remain.
  • Handle one-finger trackpad movement off the main thread. Touch frames that cannot start any enabled gesture are dropped on the touch thread. In an optimized M4 Max / macOS 27.2 / Swift 6.4 capture of one-finger cursor movement, main-thread touch deliveries fell from 94.2% to 0.53% of frames.

Focus and windows

  • Toggle between floating and tiled windows. The new Toggle Floating/Tiled Focus action raises the active workspace's floating windows and focuses the last floating window from a tiled one, and returns to the last tiled window from a floating one. It is unassigned by default and available as omniwmctl command toggle-floating-focus.
  • Keep focus-follows-mouse working after Settings. Closing Settings, App Rules, or the update window no longer leaves focus-follows-mouse paused until the next click, and hovering the window that was focused before brings focus back to it.
  • Focus the adjacent window after closing a Dwindle tile. Closing the focused tile now focuses its neighbor in the tree instead of jumping to the first window.
  • Stay on the workspace when hiding its last window. Hiding the last visible window no longer lets macOS activate another app and pull you to its workspace.
  • Keep consumed-window borders in place. Borders around windows consumed into a column keep the observed frame instead of reverting to stale full-height geometry.

Menu bar, Workspace Bar, and Secure Input

  • Auto-hide the Workspace Bar. The new Automatically hide and show the workspace bar setting (workspaceBar.autoHide, globally or per display, off by default) keeps the bar hidden until the pointer touches the edge along its span. The bar stays while the pointer moves along that edge or while one of its menus, previews, rename fields, sheets, or drags is active, and hides when the pointer moves inward past the bar. Optional Auto-Hide Reveal Delay and Auto-Hide Hide Delay settings, from 0 to 1000 ms and 0 by default, wait before the bar appears or hides; leaving the edge or returning to the bar cancels the wait. Auto-hidden bars overlay windows without reserving layout space, and holding the reveal modifier still shows them.
  • See when Secure Input blocks shortcuts. While another app holds Secure Input, OmniWM's menu bar icon and each Workspace Bar OmniWM button show a red lock, and the status menu starts with a Secure Input row that explains which shortcuts macOS withholds. The previous indicator could appear off-screen on displays arranged above or below the main display.
  • Hide the menu bar icon. Turn off the new Show Menu Bar Icon setting (statusBar.showIcon) to hide the icon beside the workspace label. The icon still appears while Secure Input is on or diagnostics are recording.
  • Reserve only the overlap for overlapping bars. An overlapping-placement Workspace Bar reserves only the part that reaches below the menu bar, including its Y offset, instead of a full-height inset.
  • Match the system stats button to the bar. It no longer has a permanent background and uses the bar's text color and the OmniWM mark's size.
  • Understand Hidden Bar's requirements. When Hidden Bar cannot read the menu-bar app list, Settings explains that it needs macOS 27 or later and Full Disk Access, and offers a button that opens the Full Disk Access pane.
  • See the launch overlay once per version. It plays only on the first launch of each version, on the primary display, while animations are enabled, at about twice the previous speed over a dimmed glass backdrop.

Performance and input efficiency

  • Receive cursor moves only when a feature needs them. OmniWM normally subscribes to mouse-moved events only while focus-follows-mouse is on, mouse warp spans two or more displays, or a display auto-hides its Workspace Bar. In optimized M4 Max / macOS 27.2 / Swift 6.4 captures with all three off, moving the mouse delivered no move events and used 2.1 ms/s of process CPU and 1.75 mW, against 16,776 moves in 55 s, 13.2 ms/s, and 15.5 mW with mouse warp on across two displays; idle measured 1.1 ms/s and 1.7 mW. These figures are OmniWM's own process accounting, not whole-machine or battery measurements.
  • Skip the own-window hit test when it cannot matter. With focus-follows-mouse off and no resize in progress, cursor moves no longer search OmniWM's own surfaces. Idle-subtracted process instructions per move fell about 8% in single manual captures; CPU time per move was not lower.

Automation and command line

  • Open the command palette in a specific mode. omniwmctl command open-command-palette <windows|menu|clipboard|commands|applications|files> opens the palette in that mode, switches to it when the palette is open in another mode, and closes it when it is already there.
  • Run watch commands past same-named directories. omniwmctl watch --exec skips directories while searching PATH, so a later executable with the same name runs.
  • Install the command-line tool inside your home directory. Install CLI to PATH no longer chooses a writable directory that only shares your home directory's name as a prefix.

Translations and releases

  • Fix mistranslated interface text. Short labels and longer messages are corrected in all 20 languages, including labels that previously meant the opposite of the English text.
  • Try daily signed canary builds. When main has changed, a signed and notarized canary is published as a prerelease. Download links now point to the latest stable release, and the README and installation guide explain installing and leaving canaries.

Breaking changes and upgrade notes

  • Column scrolling uses three or four fingers. A settings.toml that sets [gestures] fingerCount = 2 is now rejected, so the whole file fails to load until you change it to 3 or 4.
  • Hotkeys missing from settings.toml are unassigned. Leaving out a known action no longer rejects the file; that action is simply unassigned. Unknown, duplicate, or unassignable entries are still rejected. The settings schema stays at version 4, and new actions such as Toggle Floating/Tiled Focus appear in the file at the next settings save.
  • IPC protocol is now 19, previously 18. Update omniwmctl and custom IPC clients alongside OmniWM; an older client reports a version mismatch. The bundled CLI already uses the new protocol, which adds the command palette mode argument and toggle-floating-focus.

Thanks

Thank you to:

Thanks also to everyone whose bug reports led to fixes in this release: 9j7axvsLuF, Dan Dee, Datarip, Dhruv Jain, dna07rak, macsmister, Manukashyap.U.V, and Max Rydahl Andersen.

Full changelog: v0.7.5…v0.7.6

Website and documentation · Installation guide

Don't miss a new OmniWM release

NewReleases is sending notifications on new releases.