What's New Since 0.6.1
0.6.2 makes macOS app hiding a first-class visibility state, rebuilds native-fullscreen placeholder handling, adds launch safety checks, repairs Menu Anywhere submenus, and hardens the CLI against hostile or unusual window text.
Before You Upgrade — Breaking Changes
- Accessibility and Input Monitoring are now required at launch. Input Monitoring was previously only prompted for when you set up a System Hyper Trigger, although secure-input detection already depended on it; OmniWM now blocks window-management startup until both permissions are granted. Screen Recording remains optional and only enables Overview thumbnails, drag previews, and captured Hidden Bar glyphs. If you continue without Screen Recording, the permissions window returns on each launch.
- Other window managers now block startup. A second OmniWM instance, a recognized resident window manager, or an incomplete current-user process scan stops bootstrap with no bypass. The recognized managers are AeroSpace, Amethyst, bobrwm, Glide, komorebi, Nehir, Paneru, parket, Rift, Tangrid, TrimWM, yabai, and Yashiki; Hammerspoon and
skhdare not treated as conflicts on their own. Quit the conflicting manager or background service, then choose Check Again, or quit OmniWM. - Upgrade OmniWM and
omniwmctltogether. The IPC protocol moves from 10 to 11, and protocol-10 operational requests are refused witherror: protocol_mismatch; version discovery remains available. Third-party IPC clients must adopt protocol 11. - Hidden-app state has a new IPC contract.
isAppHiddenand theis-app-hiddenfield now expose macOS Hide directly;isVisibleand--visibleexclude windows whose app is hidden. The oldlayoutReason: "macos-hidden-app"value is gone, so automation using it must migrate toisAppHidden. - Commands targeting macOS-hidden windows changed.
window focusnow unhides the app and focuses the exact window.window navigateandwindow summon-rightreject a hidden target or anchor withnot_founduntil it is unhidden. - The fixed-column consume/expel actions are no longer shortcut-assignable. Existing
consumeOrExpelWindowLeftandconsumeOrExpelWindowRightTOML assignments are ignored and removed on the next settings rewrite. Their behavior remains available throughomniwmctl command consume-or-expel-window-leftandconsume-or-expel-window-right; normal directional Move shortcuts remain assignable. - Human-readable CLI output is sanitized. Table, text, and TSV cells replace control characters and Unicode line separators with spaces, and table padding now follows terminal-cell width. JSON preserves the original string values and remains the lossless choice for automation.
Configuration compatibility is otherwise unchanged: no other persisted settings keys or defaults changed, there is no new saved-layout or restore format, and OmniWM still requires macOS 26+ on Apple Silicon.
macOS Hide
- Cmd-H now behaves like a real visibility suspension. Hidden-app windows leave Niri and Dwindle layout, navigation, focus recovery, resizing, and balancing immediately, so visible windows reclaim the space. Their durable placement and sizing remain intact, and unhiding restores the exact Niri column or Dwindle tree position. #566
- Hidden windows remain searchable in the Command Palette, where a red App hidden badge marks them; selecting one unhides its app and focuses that exact window. The Workspace Bar uses eye-slash indicators, with distinct styles and VoiceOver descriptions when some or all windows in a grouped app are hidden.
- Overview is the deliberate exception: windows from hidden apps are dropped from it entirely, and they cannot be dragged or driven by structural hotkeys there until the app is unhidden.
- Niri sizing, preset cycling, reset, and balance now operate only on visible column members, so a hidden sibling can no longer clamp a visible window or have its saved size rewritten.
Native Fullscreen
- Native-fullscreen placeholders now reserve the real accepted tile slot. The redesigned card follows layout animation and survives window identity changes; its reserved slot can be moved or resized with normal layout commands while the live window is on its macOS fullscreen Space, and activating the card switches back to that window.
- Placeholders hide correctly on inactive and fullscreen Spaces, stay out of focus and border ownership, and are excluded from OmniWM capture. They request exclusion from the macOS screenshot window picker, with retries and diagnostics if macOS refuses it.
- Fullscreen transition expiry, app termination during service downtime, window recreation, and ambiguous multi-display identities now recover safely. A failed position write can no longer become a bogus permanent minimum-size constraint.
Menu Anywhere and Shortcuts
- Menu Anywhere submenus now load complete snapshots and preserve the source app's enabled and disabled states. Nested menus no longer truncate to one row or expose partial actions; an incomplete Accessibility read shows
(Unavailable)instead. #571 - The advanced-command switch is now Include Advanced Commands and sits directly beneath the shortcut list, replacing the old Show Advanced toggle in the Controls section. When a search match is hidden by it, OmniWM reports how many are hidden and offers a Show Advanced Commands button.
- The Command Palette hotkey advisory now checks whether the matching macOS symbolic shortcut is actually enabled, and re-evaluates whenever OmniWM becomes active again — including on return from System Settings.
CLI and Automation
- Opaque window IDs now round-trip custom session tokens containing colons or complex Unicode. #567
- Window titles and app names can no longer inject rows or columns into table and TSV output. #568
- Emoji sequences, combining marks, and wide characters now align correctly in terminal tables without truncating Unicode text.
Diagnostics, Launch, and Documentation
- Bug-report captures now include ordered app-visibility traces plus native-fullscreen lifecycle, projection, geometry, panel, and capture-exclusion evidence.
- The launch permissions screen explains each permission and refreshes after returning from System Settings. OmniWM shows a temporary Dock icon while that screen is open, then returns to its menu-bar-only role.
- Input Monitoring status is now read through IOKit HID rather than CoreGraphics, so Settings → Hotkeys and the launch gate use the same HID-level permission check.
- The launch overlay has been rebuilt around a synchronized wordmark and tagline sequence, replacing the previous Dwindle tile-build animation. The full sequence now runs 3.6 seconds, up from 2.6.
- The README Requirements and Quick Start sections were rewritten for the new permission model — start there if you are upgrading.
- The Nix documentation now links ryoppippi's real-world Home Manager configuration alongside the existing community packages.
Thanks
- Brian Smyth (@bps) — the macOS-hidden app focus and layout foundation in #566.
- Aisling (@aislingheart) — the Menu Anywhere submenu and item-state fixes in #571.
- Yuri Chukhlib (@YuriNachos) — delimiter-safe opaque window IDs and control-safe CLI rendering in #567 and #568.
Aisling and Brian Smyth join the contributors section, and Earl Gresh and Carson Full join Omni Sponsors.
Release Integrity
The OmniWM app is Developer ID signed, Apple-notarized, stapled, and Gatekeeper verified.
OmniWM-v0.6.2.zipSHA-256:232bf91debeea589465bf1230b9afc78f76edb383a9fad36f1d07d6f9ed4deb4GhosttyKit.xcframework-v0.6.2.zipSHA-256:38301d5540ec5d1e482b12fffbd0fe3c4d8ee56eee7bb0b737d13e9a86873972