What's New Since 0.7.3
Name your windows, place the workspace bar on any screen edge, and choose OmniWM’s interface language. OmniWM 0.7.4 also adds Niri controls and moves blocking focus and window queries off the main thread.
Window marks and language support
- Find windows by name. Give live windows marks from the command palette or
omniwmctl. Mark matches appear first in window search; focus a marked window across workspaces or summon it beside the focused tiled window. Marks last until the window closes or OmniWM quits. - Assign mark shortcuts. Set Mark and Remove Mark are available in Settings > Hotkeys and start unassigned. The palette also provides buttons and shortcuts for marking its selected window.
- Bring recent windows forward. With an empty search, Windows mode lists the focused and recently focused windows first.
Shift + Entercan move the selected window into an empty current workspace, including floating windows; floating windows cannot be summoned to the right. - Choose the app language. Settings > General now lets OmniWM use a different interface language from macOS. The default follows macOS, and changes apply the next time OmniWM starts.
Workspace and layout behavior
- Place the workspace bar on any edge. Choose top, bottom, left, or right placement, with matching layout space, menus, and previews. Hidden Bar follows bar size changes and reveals concealed icons when the global workspace bar is disabled.
- Use shortcuts above workspace nine. Assign Switch, Move, and Move Column shortcuts to higher-numbered workspaces, including dynamic workspaces.
- Skip empty workspaces consistently. When Hide Empty Workspaces is enabled, relative navigation, workspace swipes, and Overview skip inactive empty workspaces. Direct workspace selection remains available.
- Control Niri sizing and gaps. Grow and shrink increments are now configurable from 1% to 100%, defaulting to 5% instead of the previous 10%. A new Gaps at Screen Edges option lets inner gaps appear only between windows.
- Keep Niri positioning predictable. Explicitly centered first and last columns stay centered during ordinary relayouts. A brief pill shows the column’s tabbed state, including when it contains only one window.
- Avoid Dwindle fullscreen overlap. Arriving tiled windows, including restored windows, end layout fullscreen before being added.
Responsiveness and feature controls
- Less blocking work during keyboard navigation. Niri keyboard and wheel focus now front apps off the main thread and target the chosen window directly, avoiding an initial activation of the app's previously active window. Layout passes skip a roughly 9 ms Screen Recording permission check once the wallpaper preview is captured, and Hidden Bar no longer rescans running apps on every app switch.
- Measured keyboard gains. In captures with matching display-link timing, estimated missed animation frames per focus-changing keypress fell from 2.5 to 0.125. Median hotkey handling fell from 6.5 ms to 0.44 ms. Median time to the first animation callback fell from 18.7 to 9.0 ms across apps and from 10.9 to 7.1 ms within the same app.
- Slow window queries move off the main thread. Ordinary frame-change WindowServer queries, including one recorded half-second wait, now run on a worker. New-window lookups and window lifecycle and rule metadata queries also run off the main thread. Closed windows release their cached previews.
- Choose which features run. Overview and workspace bar hover previews can be disabled independently. Disabled features release their panels, observers, previews, and retained resources; the global workspace bar switch now takes precedence over monitor overrides.
- Updated the embedded GhosttyKit terminal framework to
1.3.2-main+76895d97b(upstream changes). - Diagnostic captures provide more detail about focus, parking, frame reads, and preview activity.
Performance figures come from instrumented Release development captures on one Mac. They measure internal handling and animation callback timing; screen presentation latency was not measured.
Upgrade notes
settings.tomlupgrades to schema 4 on first launch. The original is kept assettings.toml.pre-v4(settings.toml.pre-v4.1if needed); the rewritten file removes comments. Restore the backup before downgrading to 0.7.3.- Direct IPC clients must use protocol 17. The
omniwmctlincluded in this release already uses it.
Thanks
Thank you to:
- binghan1227 for keeping the Hidden Bar icon aligned with workspace bar changes.
- Dereck Angeles for skipping empty workspaces during relative navigation.
- georgian for bottom and side workspace bar placement.
- Janos Miko for workspace shortcuts above nine and the Niri screen-edge gap option.
- Richard Ginzburg for preserving centered Niri edge columns, tabbed-mode feedback, and locale-independent formatting tests.
- Taylor Bell for runtime window marks and command palette improvements.
- Michael Künneke for supporting OmniWM through GitHub Sponsors.
Full changelog: v0.7.3…v0.7.4
Website and documentation · Installation guide
Release Integrity
The app is signed, notarized, and stapled. SHA-256 hashes:
OmniWM-v0.7.4.zip:1f1485e1d166831697e8cedb9c117577f5949fe00deeae8572bed6d6c58eb4e2GhosttyKit.xcframework-v0.7.4.zip:59e16cccd81ed87fde098bc40122154e640b950ba3b7b997879c786730b88c8e