diff options
| author | user <user@clank> | 2026-08-08 19:31:55 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-08 19:31:55 +0200 |
| commit | 3f767ee91b08eebf10b693c08c173b8329ba2c14 (patch) | |
| tree | 6f2b7feed0f454f8a6036fbef54b2d647f35462d /zellij-client | |
| parent | sl0p: rebuilt default plugin wasm assets (diff) | |
| download | sl0ppij-3f767ee91b08eebf10b693c08c173b8329ba2c14.tar.gz sl0ppij-3f767ee91b08eebf10b693c08c173b8329ba2c14.tar.xz sl0ppij-3f767ee91b08eebf10b693c08c173b8329ba2c14.zip | |
sl0p: configurable pane title alignment
Adds `ui { pane_frames { title_alignment "left"|"center"|"right" } }`.
Full-frame panes previously hardcoded the title flush left, while frameless
panes (pane_frame_style "titles") already centered it via
compose_bracketed_title. This brings full frames up to parity and makes the
position configurable.
Implementation notes:
- The value rides on `Style`, which is already threaded to FrameParams, so no
new plumbing through Tab/PaneContentsAndUi was needed.
- It is deliberately NOT round-tripped over the plugin protobuf boundary:
plugins have no use for frame title alignment and adding a proto field
would force regenerating the committed prost assets in assets/prost/.
- Left keeps the original code path untouched, so default configs render
exactly as before.
- The geometry loop clamps the title start against the right-side indicators
and breaks on `>=` rather than `==`, so a mis-clamped segment cannot spin.
Tests: alignment ordering, frame width preservation across widths, and
narrow-pane safety (cols 1..24 must not panic or corrupt width).
Diffstat (limited to 'zellij-client')
| -rw-r--r-- | zellij-client/src/web_client/server_listener.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/zellij-client/src/web_client/server_listener.rs b/zellij-client/src/web_client/server_listener.rs index c66a1286..5d753435 100644 --- a/zellij-client/src/web_client/server_listener.rs +++ b/zellij-client/src/web_client/server_listener.rs @@ -83,6 +83,7 @@ pub fn zellij_server_listener( colors: palette, rounded_corners: config.ui.pane_frames.rounded_corners, hide_session_name: config.ui.pane_frames.hide_session_name, + pane_title_alignment: config.ui.pane_frames.title_alignment, }, }; |
