aboutsummaryrefslogtreecommitdiff
path: root/src/app/input/mouse.rs
AgeCommit message (Collapse)Author
2026-09-01refactor: render the shell in the client (#3487)Can Celik
* feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations
2026-08-25fix: require explicit workspace group close (#3206)akbash
refs #2874 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-19fix(perf): eliminate redundant terminal wake work (#2962)Can Celik
* fix(perf): eliminate redundant terminal wake work * fix(perf): harden release benchmark gate * test(perf): strengthen performance guardrails
2026-08-13fix: keep tab and sidebar clicks when the terminal reports a stray drag (#2736)Michael Hackner
* fix: keep tab and sidebar clicks when the terminal reports a stray drag This works around a Ghostty bug that causes herdr tabs to be unclickable in fullscreen mode. Ghostty on macOS in native fullscreen emits one motion report after a fresh press in the strip where the menu bar reveals, with the row shifted to near the bottom of the grid. The cause is upstream: macOS delivers one mouse event whose y is nearly a window height away from the real pointer, and Ghostty reports it as it arrives (iTerm2 and Terminal.app report the same clicks correctly). Herdr treated the stray report as a real drag and lost the click two ways: it opened a tab reorder with no drop target, making the release a no-op, and it handed the release to the pane under the bogus coordinates. Now, a press on the tab bar or sidebar owns the gesture until release, and a tab drag only starts once the pointer is over a real drop target. refs #796 * fix: scope chrome mouse gestures to their input source * fix: preserve chrome drag input source * fix: preserve concurrent chrome presses --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-08-09feat(graphics): add direct pane frame streaming (#2523)Can Celik
* feat(graphics): add direct pane frame streaming * feat(graphics): expose pane visibility * test(graphics): preserve legacy terminal image output * fix(graphics): harden streaming lifecycle * fix(input): preserve mouse releases outside panes
2026-08-08feat(input): add per-pane right-click routing (#2504)Can Celik
2026-08-03fix: propagate host color scheme to pane apps (#2214)Can Celik
refs #714
2026-07-31feat: support bottom tab bar placement (#2118)Can Celik
* feat: support bottom tab bar placement * fix: preserve mouse cleanup under bottom mode bar refs #2117
2026-07-26fix: improve sidebar worktree hierarchy and reordering (#1873)Can Celik
* fix: clarify sidebar worktree hierarchy refs #1694 * feat: reorder worktree groups as a unit refs #1694
2026-07-25fix: copy retained mouse selections with keyboard shortcutsOgulcan Celik
refs #1782
2026-07-22refactor: replace pane mouse and clipboard internalsOgulcan Celik
replaces contributions from othavi0
2026-07-18feat: add optional workspace name promptOgulcan Celik
2026-07-16fix: preserve selection when auto-copy is disabled (#1496)akbash
refs #1471 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-14fix: forward horizontal wheel events to panes (#1402)akbash
refs #1349 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-11feat: add copy-on-select settingOgulcan Celik
2026-07-07fix: honor prefix in copy modeOgulcan Celik
refs #681 Based on PR #1092 by @reobin. Co-authored-by: Robin Gagnon <me@reobin.dev>
2026-07-04refactor: route pane layout tui actions through runtime wrappersOgulcan Celik
2026-07-02fix: leave context menu after closing tabOgulcan Celik
refs #945
2026-06-29fix: route tui modal mutations through api authorityOgulcan Celik
2026-06-29refactor: route tui mutations through runtime authorityOgulcan Celik
2026-06-21fix: add configurable pane gapsOgulcan Celik
refs #271
2026-06-17feat: sort agent panel by priorityOgulcan Celik
refs #318
2026-06-09fix: respect prompt_new_tab_name in mouse click handlers (#521)Rajyavardhan Singh
2026-06-09feat: use pty-first agent detectionOgulcan Celik
2026-06-08fix: reduce scroll CPU in headless serverOgulcan Celik
refs #512
2026-06-07feat: add native windows beta supportOgulcan Celik
2026-06-06feat: improve toast ergonomicsOgulcan Celik
refs #486
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-06-03fix: forward any-motion pane mouse eventsOgulcan Celik
refs #419
2026-06-01feat: add configurable right-click passthroughOgulcan Celik
refs #148
2026-06-01feat: add expanded sidebar collapse control (#291)Turgay Bulut
* feat: add expanded sidebar collapse control refs #278 * fix: place sidebar collapse control inside content refs #278 --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-31fix: confirm implicit worktree group closeOgulcan Celik
refs #369
2026-05-30fix: use login shells for macos panesOgulcan Celik
refs #350
2026-05-28fix: preserve live handoff terminal stateOgulcan Celik
2026-05-26feat: add global last-pane navigationOgulcan Celik
refs #287
2026-05-26Add tmux-style double-click word copy (#296)Zack Drach
* feat: add tmux-style double-click copy Double-clicking terminal output now selects and copies the token under the cursor, similar to tmux. The copied token briefly stays highlighted as feedback, and token detection handles common shell output like paths, URLs, variables, CJK text, and surrounding punctuation. Mouse events are still forwarded unchanged when the child terminal has mouse reporting enabled. refs #142 * fix: tighten double-click copy refs #142 --------- Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-22fix: arbitrate stale agent state evidenceOgulcan Celik
refs #249
2026-05-22feat: add git worktree workspace managementOgulcan Celik
refs #137
2026-05-22feat: add configurable mouse scroll linesOgulcan Celik
refs #236
2026-05-21fix: keep notifications below floating overlaysOgulcan Celik
refs #228
2026-05-21refactor: separate server client boundariesOgulcan Celik
2026-05-19feat: add hosted product announcementsOgulcan Celik
2026-05-17feat: add selection autoscroll and fix stale selection on transitions (#129)leeeanh
When dragging to select text near pane edges, a 30ms recurring tick now continues scrolling and extending the selection while the mouse is idle. The autoscroll stops on MouseUp, key input, navigate action, cursor leaving the hot zone, scrollback boundary, missing metrics, or pane rect change. Also fixes pre-existing bugs where workspace/tab/pane transitions failed to clear selection state, which could cause stale selections to persist across views. Selection clearing on pane death is scoped to only the dying pane. Also fixes anchor_screen_pos returning pane-relative coordinates instead of screen coordinates, which caused false drag detection and spurious edge autoscroll on same-cell events when the pane has a non-zero origin. refs #128 Co-authored-by: leeanh <mac@macs-MacBook-Pro.local>
2026-05-17feat: add direct terminal attach streamOgulcan Celik
2026-05-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-16fix: keep split resize hitboxes off pane contentOgulcan Celik
fixes #120
2026-05-14feat: add tmux-style mouse capture configOgulcan Celik
2026-05-12feat: add agent cycling and tab wheel switchingOgulcan Celik
fixes #92
2026-05-11feat: add notification target keybindOgulcan Celik
2026-05-11feat: add optional pane border labelsOgulcan Celik