Repository navigation
Closed
Description
Several contributors and users have asked to see more than one pane at a time in the browser, beyond herdr's own split layout. This issue collects that work in one place, so the direction and scope can be agreed before any new code.
What main already does
- herdr's own split layout: split, zoom, swap, resize and clear panes from the web (feat(panes): split, zoom, swap, resize and clear panes from the web #726).
PaneCanvasdraws every pane of the active tab at herdr's layout (feat(ui): align pane controls and navigation with herdr TUI #747). - What it does not do: show panes from different tabs, workspaces or PCs together. The web shows one tab at a time, as herdr's TUI does.
Earlier proposals (both closed, kept here for reference)
#602: two panes side by side (by @Yoonwoo-Ha)
- A tab or a sidebar row dragged over the pane area and dropped on the left or right half opens that pane in the half.
- Each half has its own tab strip, lens and a slim bar with Close this half. The active half drives the header, palette and shortcuts.
- The split survives a reload. A window narrower than 769px shows the active half alone.
- A half can show another PC's pane (a second
PaneTerminalunder its ownMachineContext). - @flam-ing asked for drag discoverability on top of it: drop zones that appear as soon as a drag starts, a preview on hover with a commit only on drop, possibly Alt+drag if it clashes with sidebar reordering, and Esc to cancel. There is a follow-up patch at fix(split): show early guides and smooth the drag preview Yoonwoo-Ha/herdr-web-ui#1.
#657: browser docking with layout presets (by @od-studio-webagency, issue #641)
- A grid of pane views gathered from several workspaces and PCs, with a Running/All filter and six layout presets.
- Each view has a stable number and colour badge, its own lens, size and maximize (Mod+Shift+E), and a close that removes the view only.
- A bulk chat/terminal switch for the visible views.
- Half of the branch duplicated the native split work that has since landed in feat(panes): split, zoom, swap, resize and clear panes from the web #726/feat(ui): align pane controls and navigation with herdr TUI #747.
Open questions
- Is a cross-tab / cross-workspace / cross-PC multi-view wanted at all, given that
mainnow follows herdr's own layout? - If so, which scope: two halves (feat(split): two panes side by side, by dragging a tab or a sidebar row #602) or a grid with presets (feat(layout): arrange multiple pane views with docking presets #657)?
- How does it sit next to
PaneCanvas? A tab that is already split in herdr inside a browser half or a grid cell. - How does it interact with attachments, leases and pending input when several panes are visible? One WebSocket per PC is already kept (feat(ui): align pane controls and navigation with herdr TUI #747).
- Phones: show the active view alone, as feat(split): two panes side by side, by dragging a tab or a sidebar row #602 did?
Please don't open a PR for this until the direction is agreed here.
Metadata
Metadata
Assignees
Labels
No labels
Activity
devswha commentedon Oct 12, 2026
The parts of this issue that main already covers are done. The remaining work moves to #904, so this issue can close.