Hi, thanks for building Herdr — it looks very promising.
I am using Neovim inside Herdr and would like to integrate it with smart-splits.nvim, a plugin that enables seamless navigation between Neovim splits and terminal multiplexer panes (already supports tmux, Wezterm, Kitty, Zellij).
After reviewing the current CLI docs, the following capabilities appear to be missing, which are required for this kind of external integration:
-
Directional pane focus — No CLI to focus an adjacent pane by direction (e.g. herdr pane focus --direction left|right|up|down). This is the core primitive for seamless cursor movement across Neovim splits → Herdr panes.
-
Directional pane resize — No CLI to resize the current pane by direction and amount (e.g. herdr pane resize --direction left --amount 3). Required for proportional resizing across Neovim and Herdr panes.
-
Current pane identity — No reliable way for a process running inside a pane (like Neovim) to discover its own Herdr pane ID. The custom-command env vars (HERDR_ACTIVE_PANE_ID, etc.) are only injected for custom keybindings, not for normal pane shells.
-
Pane layout / edge info — No way to determine whether the current pane is at a layout edge in a given direction. This is needed for at-edge behavior (wrap/stop/split) in navigation plugins.
herdr pane split already works well, but without directional focus + directional resize + current pane identity, Neovim users inside Herdr cannot smoothly move from editor splits into Herdr panes the way they can with tmux, Wezterm, Kitty, or Zellij.
Would you be open to adding these capabilities to the CLI or socket API? Happy to help refine the API design if useful.
Hi, thanks for building Herdr — it looks very promising.
I am using Neovim inside Herdr and would like to integrate it with smart-splits.nvim, a plugin that enables seamless navigation between Neovim splits and terminal multiplexer panes (already supports tmux, Wezterm, Kitty, Zellij).
After reviewing the current CLI docs, the following capabilities appear to be missing, which are required for this kind of external integration:
Directional pane focus — No CLI to focus an adjacent pane by direction (e.g.
herdr pane focus --direction left|right|up|down). This is the core primitive for seamless cursor movement across Neovim splits → Herdr panes.Directional pane resize — No CLI to resize the current pane by direction and amount (e.g.
herdr pane resize --direction left --amount 3). Required for proportional resizing across Neovim and Herdr panes.Current pane identity — No reliable way for a process running inside a pane (like Neovim) to discover its own Herdr pane ID. The custom-command env vars (
HERDR_ACTIVE_PANE_ID, etc.) are only injected for custom keybindings, not for normal pane shells.Pane layout / edge info — No way to determine whether the current pane is at a layout edge in a given direction. This is needed for at-edge behavior (wrap/stop/split) in navigation plugins.
herdr pane splitalready works well, but without directional focus + directional resize + current pane identity, Neovim users inside Herdr cannot smoothly move from editor splits into Herdr panes the way they can with tmux, Wezterm, Kitty, or Zellij.Would you be open to adding these capabilities to the CLI or socket API? Happy to help refine the API design if useful.