aboutsummaryrefslogtreecommitdiff
path: root/src/pane.rs
AgeCommit message (Collapse)Author
2026-05-20feat: add configurable default shellOgulcan Celik
refs #196
2026-05-19fix: preserve modified enter inputOgulcan Celik
refs #168
2026-05-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-17feat: add agent start for server-owned terminalsOgulcan Celik
2026-05-17feat: add homebrew update handlingOgulcan Celik
refs #127
2026-05-15fix: forward pane cursor shapeOgulcan Celik
fixes #116
2026-05-13fix: gate kitty graphics behind configOgulcan Celik
2026-05-13feat: support kitty graphics in attached clientsOgulcan Celik
2026-05-13feat: render kitty graphics in local panesOgulcan Celik
2026-05-12test: add ime input regressionsOgulcan Celik
2026-05-11fix: resize background tabs on terminal resizeOgulcan Celik
2026-05-09chore: enable clippy lintingOgulcan Celik
2026-05-09feat: add ansi pane read formatOgulcan Celik
2026-05-07fix: preserve osc8 hyperlinks in client renderingOgulcan Celik
fixes #73
2026-05-06fix: clear native agent detection after shell returnsOgulcan Celik
fixes #66
2026-05-02fix: anchor ime cursor to focused pane positionOgulcan Celik
2026-04-23feat(logging): add robust rotating support logsOgulcan Celik
2026-04-22fix: set a stable terminal identity for panesOgulcan Celik
2026-04-21feat: add persistent server-client sessionsCan Celik
Make herdr persistent by default. Launching herdr now starts or reattaches to a background session server. Clients can detach and reattach while panes and agent processes keep running. Session mode now supports multi-client attach, auto-detect startup, and a thin-client/headless-server split. This also refactors the large app, ui, input, pane, config, workspace, and persistence modules into smaller focused submodules, while preserving behavior and colocating tests with the code they exercise. Upgrade notes: - persistence mode is now the default - in-app quit detaches the current client instead of stopping the server - use `herdr server stop` to stop the background session - use `--no-session` for the old single-process behavior - default socket paths now live under the config directory
2026-04-16feat: allow hook-reported custom agent labelsOgulcan Celik
2026-04-14feat support double prefix passthroughOgulcan Celik
2026-04-13feat add custom shell and pane keybind commandsOgulcan Celik
2026-04-12fix: preserve scrollback for droid primary-screen redrawsOgulcan Celik
2026-04-11feat: support transparent panel chromeOgulcan Celik
2026-04-10fix: forward pane osc 52 clipboard writesOgulcan Celik
2026-04-10fix: forward OSC 52 clipboard writes from pane childrenOthavio Quiliao
herdr embeds `libghostty-vt` as a headless terminal emulator per pane, and its readonly stream handler silently drops `.clipboard_contents` actions. As a result, any child process that writes OSC 52 to copy to the system clipboard (for example Amp, which enables mouse reporting and handles selection internally) has its sequence swallowed before it can reach the host terminal — the user sees the child's "copied" toast but the system clipboard is never updated. This change adds an `Osc52Forwarder` that observes raw PTY bytes in `process_pty_bytes`, reconstructs completed `ESC ] 52 ; (c|) ; <base64> (BEL|ST)` sequences (write/clear only — queries are dropped since herdr has no path to reply to the child), and returns them through the existing `ProcessBytesResult`. The reader task forwards the bytes to the main loop via a new `AppEvent::ClipboardWrite`, which is written to stdout from `handle_internal_event`. Routing through the main loop keeps stdout writes serialized with `terminal.draw` and the other existing host-terminal emitters, so the new forwarder does not race with rendering. Existing herdr-native selection (mouse drag in panes without mouse reporting) is unchanged and still writes through `selection::write_osc52`.
2026-04-09fix: restore terminal colors on macos after droid exitOgulcan Celik
2026-04-09fix: restore host terminal colors after fullscreen tui exitOgulcan Celik
2026-04-09fix: autoscroll and clear mouse text selectionsOgulcan Celik
2026-04-09fix: detect agent state from terminal tail instead of viewportOgulcan Celik
2026-04-09fix: only show cursor in focused paneOgulcan Celik
2026-04-07fix: persist ghostty key encoders per paneOgulcan Celik
2026-04-07docs: clarify herdr pane split and wait output usageOgulcan Celik
2026-04-07fix: use byte-based pane scrollback limitOgulcan Celik
2026-04-06refactor: use libghostty-native selection text readingOgulcan Celik
2026-04-05fix: respect synchronized terminal output batchesOgulcan Celik
2026-04-05refactor: remove vt100 backend and make ghostty defaultCan Celik
2026-04-05refactor: own pane mouse protocol enums outside vt100Can Celik
2026-04-05fix: prevent ghostty pane redraw corruption on wide cellsCan Celik
2026-04-05fix: match ghostty pane default colors to host terminal themeCan Celik
2026-04-05feat: forward ghostty pane focus events on focus changesCan Celik
2026-04-05feat: move ghostty pane key and mouse encoding onto live terminal stateCan Celik
2026-04-05feat: finish ghostty pane backend integrationCan Celik
2026-04-03fix onboarding spacing and preserve pane state transitionsOgulcan Celik
2026-04-01feat: add authoritative pi hook integrationCan Celik
2026-04-01feat: show release notes after updatesOgulcan Celik
2026-03-31test: cover non-top-anchored scroll regionsOgulcan Celik
2026-03-31fix: align pane scrolling with tmux and ghosttyOgulcan Celik
2026-03-31fix alt-screen scrollback handlingOgulcan Celik
2026-03-31fix: terminate pane sessions on closeOgulcan Celik