diff options
| author | CHIH,GODLEE <61595521+ChihGodlee@users.noreply.github.com> | 2026-05-18 20:27:43 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-18 15:27:43 +0300 |
| commit | 3189ede2b9225b1b930cc43368248c6b4f3a4daf (patch) | |
| tree | 24252debe6f388edfe0e621462f1bf38d5b46b20 /docs | |
| parent | c9eb7520e66c2a941c020e96e8242de66847f29d (diff) | |
feat: configure sidebar min/max width via [ui] (#135)
* 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>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/next/CHANGELOG.md | 3 | ||||
| -rw-r--r-- | docs/next/CONFIGURATION.md | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/docs/next/CHANGELOG.md b/docs/next/CHANGELOG.md index 9956a7ff..c7df66e4 100644 --- a/docs/next/CHANGELOG.md +++ b/docs/next/CHANGELOG.md @@ -2,6 +2,9 @@ ## Unreleased +### Added +- Added `ui.sidebar_min_width` and `ui.sidebar_max_width` to configure the sidebar's expanded resize bounds. Defaults remain 18 and 36 columns; existing configs are unchanged. + ## [0.5.10] - 2026-05-17 ### Added diff --git a/docs/next/CONFIGURATION.md b/docs/next/CONFIGURATION.md index 003fd102..4425cc59 100644 --- a/docs/next/CONFIGURATION.md +++ b/docs/next/CONFIGURATION.md @@ -47,6 +47,7 @@ Reloadable now: - `experimental.kitty_graphics` - `advanced.scrollback_limit_bytes` for panes created after reload - `ui.sidebar_width` as the default width; current width updates only while it is still config-owned +- `ui.sidebar_min_width` and `ui.sidebar_max_width`; the live width is re-clamped to the new bounds on reload Startup-only or special-case: - `onboarding` does not reopen onboarding during reload @@ -295,6 +296,8 @@ for `panel_bg`, you can also use `reset`, `default`, `none`, or `transparent` to ```toml [ui] sidebar_width = 26 +sidebar_min_width = 18 +sidebar_max_width = 36 mouse_capture = true confirm_close = true prompt_new_tab_name = true @@ -308,6 +311,8 @@ accent = "cyan" | option | default | description | |--------|---------|-------------| | `sidebar_width` | `26` | base sidebar width before auto-scaling | +| `sidebar_min_width` | `18` | minimum sidebar width when expanded | +| `sidebar_max_width` | `36` | maximum sidebar width when expanded | | `mouse_capture` | `true` | capture mouse input for Herdr's mouse UI; set false to let the terminal handle normal clicks while still forwarding mouse to pane apps that request it | | `confirm_close` | `true` | ask before closing a workspace | | `prompt_new_tab_name` | `true` | ask for a tab name before creating a new tab; set false to create tabs immediately with generated names | |
