aboutsummaryrefslogtreecommitdiff
path: root/src/app/input/mod.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: route osc 8 file links to plugin handlers (#2942)akbash
refs #2941 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-08-18fix: reap ctrl-click url openers (#2906)akbash
* fix: reap ctrl-click url openers refs #2903 * fix: scope linux opener test import refs #2903 * test: isolate url opener regression refs #2903 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
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-04feat(ui): add distinct status indicators (#2282)Can Celik
refs #2260
2026-08-03fix: propagate host color scheme to pane apps (#2214)Can Celik
refs #714
2026-08-01fix(input): preserve native key lifecycle across routing (#2142)Can Celik
refs #2077 Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-08-01chore: remove experiments from settings tuiOgulcan Celik
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-26fix: avoid renders for passive mouse motion (#1872)Can Celik
refs #1865
2026-07-25fix: copy retained mouse selections with keyboard shortcutsOgulcan Celik
refs #1782
2026-07-24feat: filter keybind help (#1832)corrius
* feat: filter keybind help refs #1825 * fix: recognize shifted slash in keybind help --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-24fix: consume handled url click gesturesOgulcan Celik
refs #1761
2026-07-23fix: preserve kitty printable key releasesOgulcan Celik
refs #1746
2026-07-22refactor: centralize new terminal cwd selectionOgulcan Celik
replaces contributions from Pitchfork-and-Torch
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-15feat: add floating popup panesOgulcan Celik
refs #1125
2026-07-11feat: add copy-on-select settingOgulcan Celik
2026-07-10fix: follow foreground cwd for new terminalsPitchfork-and-Torch
refs #1245
2026-07-10feat: add copy mode search and tmux word motionsOgulcan Celik
refs #1230
2026-07-08fix: match shifted indexed number keybindsOgulcan Celik
refs #1184
2026-07-04refactor: route pane layout tui actions through runtime wrappersOgulcan Celik
2026-06-29fix: route tui modal mutations through api authorityOgulcan Celik
2026-06-29refactor: route tui mutations through runtime authorityOgulcan Celik
2026-06-17feat: sort agent panel by priorityOgulcan Celik
refs #318
2026-06-15fix: use ctrl-click for captured pane links on macosOgulcan Celik
2026-06-14feat: add plugin v1 systemOgulcan Celik
Add manifest-driven plugin actions, event hooks, pane entrypoints, link handlers, and host APIs. Support plugin link, GitHub install, build commands, installed plugin registry, pane movement, runtime context, and plugin docs.
2026-06-10fix: support paste in modal inputsOgulcan Celik
refs #302
2026-06-08fix: use cmd-click for macos pane linksOgulcan Celik
refs #307
2026-06-07feat: add native windows beta supportOgulcan Celik
2026-06-04fix: use live workspace labels in navigatorOgulcan Celik
refs #377
2026-06-03feat: switch input source during prefix mode (#434)sf-jin-ku
On macOS, opt-in under [experimental], temporarily switch the host input source to the current ASCII-capable layout while prefix mode is active so prefix commands register even when a CJK IME is composing, then restore the previous input source when prefix mode exits or is cancelled. No-op when the current source is already ASCII-capable, on non-macOS platforms, or when any input source call fails. Pane text input is unaffected. Also pin next_resize_poll in next_loop_deadline_includes_selection_autoscroll_deadline so the selection autoscroll deadline stays the earliest; the default resize poll could otherwise beat it and flake the assertion. refs #400 Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-30fix: use login shells for macos panesOgulcan Celik
refs #350
2026-05-28feat: add pane copy modeOgulcan Celik
refs #231
2026-05-28fix: preserve live handoff terminal stateOgulcan Celik
2026-05-26feat: open pane links with ctrl-clickOgulcan Celik
refs #307
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-24feat: persist pane history across restarts (#248)zhugehyuk
refs #217 Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-24feat: add session navigatorOgulcan Celik
refs #157
2026-05-23feat: configure new terminal cwdOgulcan Celik
2026-05-22feat: add git worktree workspace managementOgulcan Celik
refs #137
2026-05-21refactor: separate server client boundariesOgulcan Celik
2026-05-20feat: add keybinding v2Ogulcan Celik
refs #154 refs #201 refs #202 refs #219
2026-05-20feat: add configurable default shellOgulcan Celik
refs #196
2026-05-20fix: stop auto-opening release notes on startupOgulcan Celik
2026-05-20feat: surface agent integrations in onboardingOgulcan Celik