aboutsummaryrefslogtreecommitdiff
path: root/src/layout.rs
AgeCommit message (Collapse)Author
2026-08-05fix(layout): return focus to the pane a split was opened from (#2266)Jon Kinney
Closing a focused pane handed focus to the next pane in tree order. For a pane opened beside another one -- a plugin split, a file viewer, any transient tool pane -- that is rarely where the user was: it lands on some unrelated neighbour rather than the pane that opened it. Track the pane focus came from in TileLayout and prefer it when the focused pane closes, falling back to tree order when there is no history, when it points at the pane being closed, or when it points at a pane that has since gone away. The history lives in the layout, so it can only ever name a pane in the same tab. A one-slot history is only sound if internal focus excursions never write it, so the tree edits that used to bounce focus around now go through target-taking primitives instead. close_pane removes a background pane directly, so detach_pane and take_pane_for_move stop focus-close-refocusing. split_pane splits a target without moving focus: the runtime split path only focuses the new pane once the spawn succeeds, which makes a failed split a pure rollback, and the targeted and unfocused workspace split paths stop fabricating history. insert_pane_near now takes the focus intent, so an unfocused pane move leaves the target tab's history alone. The layout-level focused-split helpers become test-only; production splits all flow through the target-taking path. Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-06-29refactor: route tui mutations through runtime authorityOgulcan Celik
2026-06-21fix: add configurable pane gapsOgulcan Celik
refs #271
2026-06-13feat: add pane move api and cliOgulcan Celik
refs #299
2026-06-12fix: allow resize keys to shrink panesOgulcan Celik
refs #562
2026-06-05feat: add pane navigation controlsOgulcan Celik
refs #421 refs #330 related discussions: https://github.com/ogulcancelik/herdr/discussions/422 https://github.com/ogulcancelik/herdr/discussions/438 https://github.com/ogulcancelik/herdr/discussions/442
2026-05-26feat: add global last-pane navigationOgulcan Celik
refs #287
2026-05-06fix: keep pane scrollbar gutter stableOgulcan Celik
2026-03-31fix: reserve pane width for visible scrollbarsOgulcan Celik
2026-03-28feat: add per-agent sound overridesOgulcan Celik
2026-03-27initial releaseOgulcan Celik
terminal workspace manager for AI coding agents. single rust binary, runs inside your existing terminal. workspaces, tiled panes, intelligent agent state detection. https://herdr.dev