Skip to content

#704: VS Code parity (Tier 2b of #699): GTK UI font stack (blocked on quadraui#624) + panel separator borders - #709

Merged
JDonaghy merged 1 commit into
developfrom
issue-704-vs-code-parity-tier-2b-of-699-gtk-ui-fon
Aug 31, 2026
Merged

#704: VS Code parity (Tier 2b of #699): GTK UI font stack (blocked on quadraui#624) + panel separator borders#709
JDonaghy merged 1 commit into
developfrom
issue-704-vs-code-parity-tier-2b-of-699-gtk-ui-fon

Conversation

@JDonaghy

Copy link
Copy Markdown
Owner

Closes #704

Automated PR opened by coordinator for review of issue #704.

quadraui#624 (already in the pinned rev, 097eb5f4) lifted `set_ui_font`
onto non-dialog chrome (tab bar, status bar, tree, menu bar), clearing
#704's "do not start before #624 lands" blocker for the font-family
half of Tier 2b.

`UI_FONT_FAMILY` led with "Segoe UI, Ubuntu, Droid Sans, Sans" — two
names that never resolve on Linux, and no Cantarell (GNOME's default
UI font) at all — so a GNOME box without the Ubuntu font package fell
through to generic Sans/DejaVu Sans, wider and taller-x-height than
VS Code's chrome text at the same nominal size. Reordered to try the
two real Linux desktop UI fonts (Cantarell, Ubuntu) first, keeping the
Windows/legacy names and the Sans catch-all after. Left ui_font_size
at 10pt: VS Code's 13px is only a ~2% difference, dwarfed by the
family fix's own metric change.

Added a GtkDriver test proving `Backend::set_ui_font` reaches the tab
bar (the sibling breadcrumb test already covered the status-bar half)
— the practical form of #704's "chrome glyph extents change when
UI_FONT_FAMILY changes on a non-dialog surface" acceptance bullet,
since family has no runtime setting to vary directly but travels with
size through the identical Pango font-description string.

Item 2 (panel separator borders) needs no vimcode code change: I
found quadraui's `AppShell::render` already paints a sidebar/main-
content divider (`AppShellLayout.divider_bounds`, both backends, via
the shared compose controller) — but its color is a hardcoded
`Color::rgb(100, 100, 110)` with no themed-color parameter and no
`Backend::theme()` getter for `AppShell` to read `border_fg` back
from. The seam facility exists structurally; it isn't themeable. Per
the issue's explicit branching instruction this is a "file a quadraui
issue and stop" outcome, not a vimcode change — flagging for the
coordinator to file on JDonaghy/quadraui (worker sessions don't run
gh): AppShell's divider needs either a settable divider color or to
read `border_fg` back from the backend, so vimcode can theme it to
match VS Code Dark Modern's #2B2B2B.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@JDonaghy
JDonaghy merged commit d4b78ac into develop Aug 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VS Code parity (Tier 2b of #699): GTK UI font stack (blocked on quadraui#624) + panel separator borders

1 participant