Commit Graph

11 Commits

Author SHA1 Message Date
Jon Kinney 09cdd88d0a fix(layout): return focus to the pane a split was opened from (#2266)
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-08-05 00:35:15 +03:00
Ogulcan Celik 1a4e94e57e refactor: route tui mutations through runtime authority 2026-06-29 18:09:25 +03:00
Ogulcan Celik 4421c0febb fix: add configurable pane gaps
refs #271
2026-06-21 14:03:59 +03:00
Ogulcan Celik d35c642ef3 feat: add pane move api and cli
refs #299
2026-06-13 01:59:24 +03:00
Ogulcan Celik 6e7ce87bab fix: allow resize keys to shrink panes
refs #562
2026-06-12 02:13:29 +03:00
Ogulcan Celik 556b16b2df feat: add pane navigation controls
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-06-05 22:06:02 +03:00
Ogulcan Celik 57c880f0eb feat: add global last-pane navigation
refs #287
2026-05-26 14:50:13 +03:00
Ogulcan Celik b83737bddb fix: keep pane scrollbar gutter stable 2026-05-06 20:59:57 +03:00
Ogulcan Celik f826fb78dc fix: reserve pane width for visible scrollbars 2026-03-31 16:03:34 +03:00
Ogulcan Celik f8c4d6a5f1 feat: add per-agent sound overrides 2026-03-28 00:32:35 +03:00
Ogulcan Celik a57b97285c initial release
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
2026-03-27 21:37:05 +03:00