Nehir: a tiling window manager for macOS
Nehir is a tiling window manager designed for macOS, drawing inspiration from the Niri column layout paradigm. The name "Nehir" comes from the Turkish word for river, reflecting the way windows flow in columns and scroll horizontally across the screen. After the initial release, Nehir can be distributed through the guria/tap Homebrew tap. It requires Accessibility permissions to function.
Once installed, Nehir automatically restores any parked or offscreen windows during a normal, graceful quit. However, force quits, crashes, or using kill -9 bypass this cleanup, potentially leaving windows at the screen edge. In such cases, users can utilize macOS's built-in window shortcuts to bring the chosen Mission Control window back onto the screen, or find these actions in the macOS Window menu.
In Mission Control, selecting the trapped window and applying Fill or Centre/Center usually restores it to the visible desktop.
For deeper debugging, trace capture and other debug commands are restricted to those with Developer Mode enabled. This feature can be activated in the Diagnostics tab of Settings, unlocking the Debug: commands in the command palette and hotkey settings. It also reveals additional panels such as the IPC debug endpoints, Debug Actions, Background Trace Buffer, and Recent Traces.
With Developer Mode enabled, users can initiate a trace capture from any point. A clean trace captures only the issue at hand, excluding Nehir's UI. To set up a custom hotkey or use the DebugBar, ensure Settings are closed. After stopping the trace capture, a log bundle is generated and saved to the appropriate location. This log should be shared, not the path to the file, as the path is only relevant to your machine. To share, use Copy File in the Recent Traces list, or drag the file out of the traces folder.
The trace file can be generated before encountering the issue, stopped right after, to prevent padding the log with irrelevant data. Nehir's config layout is stored in the ~/.config/nehir/ directory and is watched for changes, applying edits live without needing a restart. Configuration principles are outlined in the Configuration Principles document. Nehir's defaults are stored as physical key chords for easier access, with Karabiner offering a double-Command recipe for a lighter way to enter the base layer.
The software's settings are organized under ~/.config/nehir/, and all files are monitored for changes, allowing live application without the need for a restart. The design rationale behind this approach is detailed in the Configuration Principles document. Nehir's default settings are represented as physical key chords, and those looking for a more accessible method may find the Karabiner double-Command recipe helpful.
The ultimate aim of Nehir is to provide a clean, efficient workflow with a clear, predictable set of modifier patterns. The source code for Nehir, including configuration principles, changesets, release flow, and maintenance principles, can be found in the Nehir repository on GitHub.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.