diff options
| author | user <user@clank> | 2026-08-08 20:16:54 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-08 20:16:54 +0200 |
| commit | 3dfd1e2f7565f5f8218becbbb9ed44531b5c0373 (patch) | |
| tree | f90fb0784ae36d4db5201dd2c778ea8fdec2e14b /default-plugins/plugin-manager/src | |
| parent | sl0p: fix status bar vanishing when pane gap is set (diff) | |
| download | sl0ppij-3dfd1e2f7565f5f8218becbbb9ed44531b5c0373.tar.gz sl0ppij-3dfd1e2f7565f5f8218becbbb9ed44531b5c0373.tar.xz sl0ppij-3dfd1e2f7565f5f8218becbbb9ed44531b5c0373.zip | |
sl0p: hot-reload title alignment, gap and padding on config change
The three sl0p frame options were read once at session start: zellij's
ScreenInstruction::Reconfigure carries an explicit, hand-maintained field
list (pane_frame_style, rounded_corners, hide_session_name, ...) and ours
were not in it, so editing config.kdl did nothing until a new session.
Wires them through the existing reconfigure path:
lib.rs -> ScreenInstruction::Reconfigure -> Screen::reconfigure
-> Tab::update_frame_layout -> {tiled,floating}_panes fanout
-> Pane::update_frame_layout
Two ordering/coverage details that are easy to get wrong:
- Tab::update_frame_layout must run BEFORE set_pane_frames. gap/padding are
baked into content_offset when it is set, not read live at render time, so
the values must be in place before the sweep that recomputes offsets.
- FloatingPanes::set_pane_frame_style only re-runs that sweep when a floating
pane is fullscreen, so ordinary floating panes would have kept their old
inset until the next resize. The floating fanout now recomputes explicitly.
Title alignment needs no recompute (it is read at render time) but rides the
same path for consistency; panes clear their frame cache so it repaints.
Diffstat (limited to 'default-plugins/plugin-manager/src')
0 files changed, 0 insertions, 0 deletions
