From bb0dad86f81768c8b7d5894acf7cd53bd05d302b Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Fri, 8 May 2026 15:37:01 +0300 Subject: [PATCH] fix: split panes in target tab without stealing focus fixes #75 --- SOCKET_API.md | 18 +++---- src/app/api.rs | 25 +++++++--- src/app/mod.rs | 121 +++++++++++++++++++++++++++++++++++++++++++++++ src/cli.rs | 28 ++++++++--- src/workspace.rs | 36 ++++++++++++++ 5 files changed, 206 insertions(+), 22 deletions(-) diff --git a/SOCKET_API.md b/SOCKET_API.md index 3baf31e3..dbb2c379 100644 --- a/SOCKET_API.md +++ b/SOCKET_API.md @@ -273,7 +273,7 @@ notes: - `cwd` is optional - if `cwd` is omitted, herdr uses its current working directory and falls back to `/` if needed - `focus` is optional in raw socket requests and defaults to `false` -- the cli wrapper is more ergonomic here: `herdr workspace create` focuses by default unless you pass `--no-focus` +- the cli wrapper also defaults to no focus; pass `--focus` to switch to the new workspace example response: @@ -399,7 +399,7 @@ notes: - `workspace_id` is optional and defaults to the active workspace - `cwd` is optional; if omitted, herdr uses the focused pane cwd in that workspace when available - `focus` is optional in raw socket requests and defaults to `false` -- the cli wrapper focuses by default unless you pass `--no-focus` +- the cli wrapper also defaults to no focus; pass `--focus` to switch to the new tab returns `tab_info` for the new tab. @@ -542,7 +542,7 @@ notes: - `direction` must be `right` or `down` - `cwd` is optional - `focus` is optional in raw socket requests and defaults to `false` -- the cli wrapper is more ergonomic here too: `herdr pane split ...` focuses by default unless you pass `--no-focus` +- the cli wrapper also defaults to no focus; pass `--focus` to switch to the new pane returns `pane_info` for the new pane. @@ -918,7 +918,7 @@ workspace commands: ```text herdr workspace list -herdr workspace create [--cwd PATH] [--label TEXT] [--no-focus] +herdr workspace create [--cwd PATH] [--label TEXT] [--focus] [--no-focus] herdr workspace get herdr workspace focus herdr workspace rename