| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-05-25 | feat: make focus-gain redraw configurable | Ogulcan Celik | |
| refs #282 | |||
| 2026-05-24 | feat: persist pane history across restarts (#248) | zhugehyuk | |
| refs #217 Co-authored-by: Can Celik <ogulcancelik@gmail.com> | |||
| 2026-05-24 | feat: make navigate movement keybinds configurable | Ogulcan Celik | |
| refs #193 | |||
| 2026-05-24 | feat: add session navigator | Ogulcan Celik | |
| refs #157 | |||
| 2026-05-23 | feat: restore agent sessions | Ogulcan Celik | |
| refs #233 | |||
| 2026-05-23 | feat: configure new terminal cwd | Ogulcan Celik | |
| 2026-05-22 | fix: accept unicode keybindings | Ogulcan Celik | |
| refs #247 | |||
| 2026-05-22 | feat: add git worktree workspace management | Ogulcan Celik | |
| refs #137 | |||
| 2026-05-22 | feat: add configurable mouse scroll lines | Ogulcan Celik | |
| refs #236 | |||
| 2026-05-21 | feat: use local keybindings for remote attach | Ogulcan Celik | |
| 2026-05-21 | fix: detect antigravity cli sessions | Ogulcan Celik | |
| refs #207 | |||
| 2026-05-21 | fix: keep cjk ime agent allow-list safe | Ogulcan Celik | |
| refs #149 | |||
| 2026-05-21 | feat(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-20 | fix: clarify keybinding conflict warnings | Ogulcan Celik | |
| refs #154 | |||
| 2026-05-20 | feat: add keybinding v2 | Ogulcan Celik | |
| refs #154 refs #201 refs #202 refs #219 | |||
| 2026-05-20 | feat: detect kiro cli agents | Ogulcan Celik | |
| refs #185 | |||
| 2026-05-20 | feat: add configurable default shell | Ogulcan Celik | |
| refs #196 | |||
| 2026-05-19 | feat: add kind star requests | Ogulcan Celik | |
| 2026-05-19 | feat: support hermes agent integration | Ogulcan Celik | |
| refs #144 | |||
| 2026-05-18 | feat: 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-18 | feat: Support 16-bit terminal themes (#146) | Zack Drach | |
| Add a terminal theme that inherits the terminal default background and uses the host terminal's 16-color ANSI palette for UI colors. refs #140 | |||
| 2026-05-17 | fix: detect Grok Build agent state | Ogulcan Celik | |
| refs #133 | |||
| 2026-05-17 | chore: rename fullscreen keybinding to zoom | Ogulcan Celik | |
| 2026-05-16 | feat: add immediate new tab option | Ogulcan Celik | |
| refs #123 | |||
| 2026-05-16 | feat: add scrollback editor keybind | Ogulcan Celik | |
| refs #122 | |||
| 2026-05-15 | feat: add indexed keybind families | Ogulcan Celik | |
| 2026-05-15 | config: split experimental settings from advanced | Ogulcan Celik | |
| 2026-05-15 | feat: add system toast delivery | Ogulcan Celik | |
| 2026-05-14 | feat: add tmux-style mouse capture config | Ogulcan Celik | |
| 2026-05-13 | feat: support kitty graphics in attached clients | Ogulcan Celik | |
| 2026-05-12 | feat: add agent cycling and tab wheel switching | Ogulcan Celik | |
| fixes #92 | |||
| 2026-05-11 | feat: add notification target keybind | Ogulcan Celik | |
| 2026-05-11 | feat: add optional pane border labels | Ogulcan Celik | |
| 2026-05-09 | chore: enable clippy linting | Ogulcan Celik | |
| 2026-05-06 | fix: persist agent panel scope in config | Ogulcan Celik | |
| 2026-04-26 | feat: refine live config lifecycle | Ogulcan Celik | |
| 2026-04-26 | feat: add live config reload | Ogulcan Celik | |
| 2026-04-22 | feat: add terminal-delivered client notifications | Ogulcan Celik | |
| 2026-04-21 | feat: add persistent server-client sessions | Can 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 | |||
