Skip to content

Nehir 0.5.0-rc.8

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Jun 14:55
984c536

Changes

  • Added an openSettings command 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.settings in the config)
    • CLI / IPCnehirctl command open-settings (IPC name open-settings)

    It behaves like the other "open surface" commands (open-command-palette, open-menu-anywhere): it activates the Settings window via the shared SettingsWindowController, 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.