Context
Per-window status bars are already fully shared: build_window_status_line() → window_status_line_to_status_bar() → quadraui StatusBar primitive. Both backends consume identically.
The global status bar (bottom of screen, shows mode + file info when per-window status is disabled) still has per-backend rendering (~50 lines each). It uses build_status_line() which returns plain (String, String, Option<Range>) — no quadraui conversion.
What to do
- Create
build_global_status_bar() -> quadraui::StatusBar in render.rs (analogous to window_status_line_to_status_bar())
- Both backends call it and draw via their existing
draw_status_bar() quadraui bridge
- Remove the per-backend text layout code
Current locations
- TUI:
src/tui_main/panels.rs — render_status_line (~50 lines)
- GTK:
src/gtk/draw.rs — draw_status_line (~50 lines)
- Shared:
src/render.rs — build_status_line() (returns raw strings, no quadraui conversion)
Priority
Low — small duplication, but completes the pattern established by per-window status bars.
Context
Per-window status bars are already fully shared:
build_window_status_line()→window_status_line_to_status_bar()→ quadrauiStatusBarprimitive. Both backends consume identically.The global status bar (bottom of screen, shows mode + file info when per-window status is disabled) still has per-backend rendering (~50 lines each). It uses
build_status_line()which returns plain(String, String, Option<Range>)— no quadraui conversion.What to do
build_global_status_bar() -> quadraui::StatusBarin render.rs (analogous towindow_status_line_to_status_bar())draw_status_bar()quadraui bridgeCurrent locations
src/tui_main/panels.rs—render_status_line(~50 lines)src/gtk/draw.rs—draw_status_line(~50 lines)src/render.rs—build_status_line()(returns raw strings, no quadraui conversion)Priority
Low — small duplication, but completes the pattern established by per-window status bars.