aboutsummaryrefslogtreecommitdiff
path: root/src/ui
AgeCommit message (Collapse)Author
2026-08-06fix(sidebar): highlight active agent in collapsed sidebar (#2382)Ian Ker-Seymer
The collapsed sidebar renders agent rows with an unconditional Style::default().fg(p.overlay0), so the active agent is indistinguishable from the others. The workspace list directly above it, and render_agent_detail in the expanded sidebar, both mark the active entry. Reuse the existing active treatment: resolve the active entry with the same is_active_pane call the expanded agent panel uses, then paint the row background with surface_dim and the position number with text, the same tokens the collapsed workspace rows already use. Assisted-By: devx/717e5259-915f-4a7b-af07-6abe46da5b90
2026-08-05feat(theme): add optional sidebar backgroundOgulcan Celik
2026-08-04feat(ui): add distinct status indicators (#2282)Can Celik
refs #2260
2026-08-04fix(ui): keep collapsed workspace status visible (#2239)akbash
refs #2216 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-08-03fix: propagate host color scheme to pane apps (#2214)Can Celik
refs #714
2026-08-01feat(ui): make pane scrollbars optional (#2166)Can Celik
refs #2167
2026-08-01chore: remove experiments from settings tuiOgulcan Celik
2026-07-31fix(sidebar): keep worktree groups packedOgulcan Celik
2026-07-28perf: skip rendering hidden pty updatesOgulcan Celik
2026-07-28fix: preserve linked worktree workspace labelsOgulcan Celik
2026-07-28perf: replace agent spinners with static status marksOgulcan 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-25feat: switch IME to ASCII in prefix mode on Windows (Korean IME) (#1823)joonhwan
* feat: switch IME to ASCII in prefix mode on Windows Extend switch_ascii_input_source_in_prefix to Windows: detect IME state via WM_IME_CONTROL and toggle to ASCII with SendInput for the Korean IME. Other IME languages are detected and left unchanged. refs #1802 * docs: clarify Windows (Korean IME) support for prefix ASCII switching Follow-up to the Windows prefix ASCII switch, which extended switch_ascii_input_source_in_prefix to Windows but left the surrounding text describing macOS only. - Settings row label: "(macOS)" -> "(macOS/Windows)", plus its test. - Generalize the Windows behavior wording to "switches the IME to English (ASCII) input" in the config-reference.json entry and the model.rs doc comment, and state that Windows support is currently limited to the Korean IME. - Add a :::caution aside noting the Korean-IME-only limitation to the en/ja/zh preview docs, keeping the three translations in sync. refs #1802 * fix: warn when prefix IME toggle injection is incomplete SendInput can queue fewer events than requested (for example when blocked by UIPI), which would otherwise leave the IME silently stuck in ASCII or native mode. Log a warning with the sent and expected counts so the failure is diagnosable. refs #1802 * fix: guard prefix IME restore and correct open-status naming Address maintainer review on the Windows prefix ASCII switch: - Restore only when safe: store the foreground window at switch time and, before toggling back, require that the same window is still focused and the IME is still in English. This stops restore from toggling another application or overriding a manual return to Hangul during prefix mode. - Report injection success from send_vk_tap and only arm restoration when the initial toggle landed; on a partial injection retry the dropped key-up so a key is not left logically held down. The injection policy is split into send_vk_tap_with(inject) so the success, partial, and failure branches are unit-tested without the real SendInput. - Correct the WM_IME_CONTROL sub-command naming: 0x0005 is IMC_GETOPENSTATUS (IME open state), not IMC_GETCONVERSIONMODE. Behavior is unchanged; the constant, comments, and tests now describe the open-status read. refs #1802 * fix: bound IME open-status read with a timeout The prefix IME switch reads IMC_GETOPENSTATUS via WM_IME_CONTROL, which crosses into the terminal-emulator process. A plain SendMessageW would block herdr's client thread until that process responds, indefinitely if it hangs. Read through SendMessageTimeoutW with SMTO_ABORTIFHUNG and a short timeout instead; on timeout the switch is skipped and restore does nothing, so a hung host process can no longer freeze prefix-mode entry or exit. refs #1802 * fix: preserve windows ime restoration after partial injection refs #1802 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-25perf: eliminate repeated workspace git discovery (#1842)Can Celik
* perf: eliminate repeated workspace git discovery refs #1838 * fix: keep workspace labels current without extra redraws refs #1838 * fix: retain discovered workspace git metadata refs #1838
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: inherit host palette in pane queries (#1759)akbash
refs #1752 Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-07-20feat: add plugin-driven agent views and startup hooksOgulcan Celik
2026-07-19fix: show current workspace name in close confirmationOgulcan Celik
refs #1364
2026-07-19feat: connected tree glyphs, workspace grouping, and search auto-select in ↵Ogulcan Celik
navigator refs #1611
2026-07-18feat: add optional workspace name promptOgulcan Celik
2026-07-16refactor: extract active tab surface renderingOgulcan Celik
2026-07-16feat: add configurable sidebar token stylesOgulcan Celik
2026-07-15feat: add floating popup panesOgulcan Celik
refs #1125
2026-07-14feat: configure sidebar entry gapsOgulcan Celik
2026-07-13fix: show renamed single tabs in agents sidebarOgulcan Celik
refs #1369
2026-07-13fix: reap detached custom command children (#1384)akbash
* fix: reap detached custom command children refs #1360 * test: harden child cleanup and sidebar metrics refs #1360 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-13feat: add configurable sidebar metadata tokensOgulcan Celik
2026-07-12fix: number collapsed agent rows by list positionOgulcan Celik
refs #1344
2026-07-10fix: improve config diagnostic deliveryOgulcan Celik
2026-07-10feat: add copy mode search and tmux word motionsOgulcan Celik
refs #1230
2026-07-08fix: align collapsed sidebar agent rows (#1182)akbash
refs #1168 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-07fix: preserve navigator search commands (#1140)Bryan Lee
Navigator search treated Escape as either modal close or query reset, which left no way to return to command mode while keeping the filtered row set. `/` also rebuilt search mode by clearing the query, so a user could not resume editing the same filter after backing out. Make Escape leave search focus only, reserve command-mode Escape for closing the picker, and let `/` refocus the existing query. The footer now lists the shortcuts for the active mode so command keys are not advertised while text input owns them. refs #1115
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-06-30feat: hide single-tab tab rowOgulcan Celik
refs #448
2026-06-30feat: add hidden collapsed sidebar modeOgulcan Celik
refs #842
2026-06-29fix: remove focused pane title border markerOgulcan Celik
2026-06-27fix: keep active auto-named tab readableOgulcan Celik
refs #829
2026-06-26fix: compact indexed keybind help rangesOgulcan Celik
refs #817
2026-06-26fix: measure ui labels by display widthOgulcan Celik
refs #810
2026-06-25feat: render worktrees as a tree in the mobile switcherOgulcan Celik
2026-06-25feat: agents-first mobile switcher with global header summaryOgulcan Celik
2026-06-25fix: render cjk pane border labelsOgulcan Celik
refs #799
2026-06-22fix: use active pane color for border intersections (#742)Cullen
2026-06-21fix: add configurable pane gapsOgulcan Celik
refs #271
2026-06-19fix: defer api worktree operationsOgulcan Celik
refs #686 refs #657 refs #662 refs https://github.com/ogulcancelik/herdr/discussions/687
2026-06-17feat: sort agent panel by priorityOgulcan Celik
refs #318
2026-06-16fix: handle cjk branch truncationOgulcan Celik
refs #644
2026-06-15fix: keep auto tab labels compactOgulcan Celik
2026-06-14feat: mark zoomed tabs in tab barOgulcan Celik
2026-06-14fix: preserve tab identity across restored sessionsOgulcan Celik