#547: GTK regressions from #515: editor breadcrumbs broken + explorer treeview icons don't use Nerd Fonts (converge on quadraui; fix quadraui gaps first) - #548
Merged
JDonaghy merged 2 commits intoJul 2, 2026
Conversation
…pp migration Both regressions were vimcode-side wiring gaps left by the #540 Relm4→ShellApp migration, not quadraui primitive gaps: - Breadcrumbs: the active draw path is `ShellApp::render_content` in `src/gtk/mod.rs`, not the legacy `src/gtk/draw.rs::draw_editor` (which has zero callers and is dead). `render_content` reserved layout space for the breadcrumb row and hit-tested clicks against it, but never actually drew the `Surface::StatusBar` for it. - Icons: quadraui's `GtkBackend` defaults `nerd_fonts_enabled: false`. The only call to `Backend::set_nerd_fonts` on GTK lived inside `Msg::CacheFontMetrics`, which is never constructed/sent anywhere after #540 — a fully dead handler. Fix: add `render::breadcrumb_draw_targets()` and `render::sync_nerd_fonts()` shared helpers, called from both backends. This also collapses TUI's duplicated `segments.is_empty() || terminal_maximized` skip check (present in its split- and single-group branches) and its bespoke single-group `is_tab_bar_hidden` y-offset special case (verified equivalent to `bc.bounds.y`, which already accounts for hidden tab bars via `adjust_group_rects_for_hidden_tabs`) onto the one shared code path. Adds two render.rs unit tests: breadcrumb bounds pin the hidden/shown tab-bar row-offset equivalence that made the TUI unification safe, and explorer tree rows always carry a distinct glyph/fallback pair. `Msg::CacheFontMetrics` is left in place (not deleted) despite being dead — it also drives cached line/char metrics, UI font size, menu bar height, and terminal PTY resize, which is a larger latent-bug surface out of scope here. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… width filter - Names the quadraui dependency the previous commit's `sync_nerd_fonts()` (a trait-object call to `Backend::set_nerd_fonts`) relies on: quadraui commit 9613f9c "feat(quadraui): promote set_nerd_fonts to Backend trait (#391)" (branch issue-391-add-backend-set-nerd-fonts-to-trait-so-s), landed 2026-06-29 on quadraui develop. A stale local `~/src/quadraui` checkout before that commit will fail to build this vimcode branch with "no method named set_nerd_fonts found for &mut dyn Backend" — pull quadraui develop before building/testing this branch. - Adds `test_breadcrumb_draw_targets_offset_terminal_maximized_and_filters`, a direct unit test of `render::breadcrumb_draw_targets` covering the `terminal_maximized` early return, the `origin_offset` translation arithmetic (both TUI's nonzero-offset and GTK's zero-offset conventions), the `segments.is_empty()` filter, and the zero-width fallback filter below. - Folds the zero-width breadcrumb-bounds fallback filter (`min_x == f64::MAX` when a group has no matching window rects) into `breadcrumb_draw_targets` itself, removing the now-redundant `rect.width > 0.0` guard from both TUI call sites — GTK's call site never had this guard, so centralizing it removes a footgun instead of asking every backend to remember it. - Fixes a pre-existing (#515, unrelated to #547) `clippy::type_complexity` warning on `ShellApp::cached_tab_slots_abs` by extracting a `TabSlotsAbsMap` type alias, matching the existing `TabSlotMap`/`TabCloseAbsMap` pattern — needed to keep `cargo clippy -- -D warnings` green for this branch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #547
Automated merge from the coordinator for assignment f64cf7f14851 on issue #547.
Worker branch:
issue-547-gtk-regressions-from-515-editor-breadcru→develop.