aboutsummaryrefslogtreecommitdiff
path: root/src/app/mod.rs
AgeCommit message (Collapse)Author
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-05fix: open a default workspace when sessions are emptyOgulcan Celik
refs #366
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-06-01fix: restore agents through pane shellsOgulcan Celik
2026-06-01feat: add configurable right-click passthroughOgulcan Celik
refs #148
2026-05-31fix: confirm implicit worktree group closeOgulcan Celik
refs #369
2026-05-31fix: normalize pane split cwd assertionOgulcan Celik
2026-05-30perf: reduce sidebar git polling overheadOgulcan Celik
refs #353
2026-05-30fix: use login shells for macos panesOgulcan Celik
refs #350
2026-05-29fix: keep split host color replies out of panesOgulcan Celik
refs #344 refs #279
2026-05-28feat: add pane copy modeOgulcan Celik
refs #231
2026-05-28fix: preserve live handoff terminal stateOgulcan Celik
2026-05-27feat: configure mobile width threshold (#317)kangal-bot
2026-05-26feat: add pane metadata reportingOgulcan Celik
refs #36
2026-05-26feat: show clipboard copy feedbackOgulcan 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-25feat: make focus-gain redraw configurableOgulcan Celik
refs #282
2026-05-25feat: hand off ptys during updatesOgulcan Celik
2026-05-24feat: persist pane history across restarts (#248)zhugehyuk
refs #217 Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-05-24fix: avoid app event queue stallsOgulcan Celik
refs #265
2026-05-24feat: add session navigatorOgulcan Celik
refs #157
2026-05-23feat: restore agent sessionsOgulcan Celik
refs #233
2026-05-23feat: add worktree cli and socket apiOgulcan Celik
2026-05-23fix: preserve local keybindings in remote sessionsOgulcan Celik
2026-05-23feat: configure new terminal cwdOgulcan Celik
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-21refactor: separate server client boundariesOgulcan Celik
2026-05-21fix: keep cjk ime agent allow-list safeOgulcan Celik
refs #149
2026-05-21feat(experimental): add reveal_hidden_cursor_for_cjk_ime opt-in for CJK IME ↵ChihGodlee
tracking When the focused pane requests ?25l (cursor hidden) but paints its own cursor — common in TUIs like Claude Code, pi, and codex — macOS native input methods stop tracking the candidate-window position. CJK users (Chinese / Japanese / Korean) cannot see candidate windows follow as they type. Setting [experimental] reveal_hidden_cursor_for_cjk_ime = true exposes the focused pane's cursor anchor to the outer terminal regardless of the pane's hidden-cursor request, restoring IME tracking for CJK input. [experimental] cjk_ime_agents is an optional allow-list. When empty, the reveal applies to any focused pane. When non-empty (e.g. ["claude", "codex"]), the reveal only applies if the focused pane's detected agent matches one of the listed names. This lets users enable the workaround only for AI-agent TUIs that paint their own cursor, leaving plain shells and other programs untouched. Accepted names: pi, claude, codex, gemini, cursor, cline, opencode, copilot, kimi, kiro, droid, amp, grok, hermes. Unknown names are ignored. When the pane reports no cursor position (cursor_state returns None for some TUIs), the anchor falls back to the pane's top-left so a stable IME hint is always available. [experimental] cjk_ime_cursor_shape (default "steady_block") controls the DECSCUSR shape rendered for the revealed cursor; six variants are accepted: block, steady_block, underline, steady_underline, bar, steady_bar. Trade-off when enabled: a hardware cursor will be visible in the outer terminal for apps that hide the cursor without painting a replacement. Default false preserves the behavior set in 2c95071. Pair the reveal with cjk_ime_agents to scope it to specific TUIs. Manually verified on macOS 26.5 aarch64 with system Pinyin IME against Claude Code: candidate window tracks cursor with flag enabled, returns to anchored-at-start behavior with flag disabled. refs #149
2026-05-20fix: clarify keybinding conflict warningsOgulcan Celik
refs #154
2026-05-20feat: add keybinding v2Ogulcan Celik
refs #154 refs #201 refs #202 refs #219
2026-05-20fix: support kitty unicode placeholdersOgulcan Celik
refs #136
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
2026-05-19feat: add hosted product announcementsOgulcan Celik
2026-05-19fix: preserve modified enter inputOgulcan Celik
refs #168
2026-05-18feat: configure sidebar min/max width via [ui] (#135)CHIH,GODLEE
* feat: configure sidebar min/max width via [ui] Expose the previously hardcoded MIN_SIDEBAR_WIDTH / MAX_SIDEBAR_WIDTH clamps as [ui] sidebar_min_width / sidebar_max_width. Defaults remain 18 / 36 so existing configs are unchanged. Hot-reload is wired through the existing [ui] block; reload re-clamps the live width to the new bounds so tightening takes effect immediately. Reject inverted bounds (min > max) at every entry point so a bad config can never reach u16::clamp(min, max), which panics: App::new falls back to defaults, and apply_live_config treats the whole [ui] section as invalid and returns a partial reload report. refs #132 * test: keep sidebar reload width within bounds refs #132 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
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-17fix: polish terminal-core agent semanticsOgulcan Celik
2026-05-17feat: add direct terminal attach streamOgulcan Celik
2026-05-17refactor: extract terminal state and runtime from panesOgulcan Celik
2026-05-17feat: add terminal identity and agent cli facadeOgulcan Celik
2026-05-17feat: add homebrew update handlingOgulcan Celik
refs #127