Nehir 0.5.0-rc.8
Pre-releaseChanges
-
Added an
openSettingscommand for opening the Nehir settings window.The new command is surfaced everywhere other commands live:
- Command Palette — searchable under the Commands tab (try "settings" or "preferences")
- Hotkeys — assignable in Settings → Hotkeys (unassigned by default; persisted as
ui.settingsin the config) - CLI / IPC —
nehirctl command open-settings(IPC nameopen-settings)
It behaves like the other "open surface" commands (
open-command-palette,open-menu-anywhere): it activates the Settings window via the sharedSettingsWindowController, and is reachable through the same hotkey, command palette, and IPC paths. The status bar menu's existing Settings item is unchanged. -
Fixed workspaces staying assigned to monitors after they are disconnected, which could cause stale workspace bar positioning or window reveal issues following an external display detach. Workspace-to-monitor assignments are now revalidated against the current monitor set whenever displays change.
-
Hardened window visibility tracking to prevent windows getting stuck hidden or shown in invalid states.
-
Internal refactor: centralize the RefreshReason to refresh-route mapping. A single RefreshReason routing table now drives route (fullRescan / relayout / immediateRelayout / visibilityRefresh / windowRemoval) and scheduling policy, exposed via a new reason-driven LayoutRefreshController.requestRefresh entry point. Adding a reason or changing refresh policy is now a one-place edit instead of scattered call sites; behavior is unchanged.
Notes
Nehir is distributed as a signed and notarized app. If macOS still shows a Gatekeeper warning, right-click the app and choose Open.
Nehir requires Accessibility permission to manage windows.