Repository navigation
workbench: explorer icons read on a float's pane and every material - #672
Merged
Merged
Conversation
A file-tree row's glyph away from the pointer rested in the theme's window fill (Fizzy Dark 28,29,36), lerped toward its accent as the pointer nears. That reads only on the main window's own base. A popped-out float puts the explorer on its pane's card (38,39,45 measured on Liquid Glass), a few steps from the window fill, so the icons were the colour under them. A file's glyph now rests in one colour wherever it is shown, `core.widgets.treeGlyphColor`: the theme's control text, as the tree's labels, a document tab's icon and a row carried in glass already were. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
foxnne
force-pushed
the
workbench/float-icon-contrast
branch
from
October 19, 2026 21:29
795cc21 to
766ed91
Compare
foxnne
marked this pull request as ready for review
October 19, 2026 21:29
foxnne
enabled auto-merge
October 19, 2026 21:33
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.
Fixes the maintainer's report: "the file explorer icons are invisible in a popped-out window because the icons are the same color as the background."
What changes
The explorer's folder, file and caret icons now read in a popped-out float, under every window material and theme. A file's glyph is one colour wherever it is shown: the tree, a document tab, and a row or tab carried in glass.
Cause. The cause is not the float's material base (#647, #664). Away from the pointer, a file-tree row's glyph rested in
theme.window.filland lerped toward its accent colour as the pointer neared (files.zigdrawRow). Window fill is the theme's darkest colour, and it reads only on the main window's own base: the sidebar measured 65,67,74, with the glyphs at 28,29,36. A float puts the explorer on its pane's card, measured at 38,39,45 on Liquid Glass. That is a few steps from the window fill, so the icons came out the colour under them. The same happens wherever the explorer sits on a card.Fix. Glyphs now rest in
core.widgets.treeGlyphColor(theme), the theme'scontrol.text. That is the colour the tree's labels, a tab's file icon (Workspace) and a carried row's icon (ViewDrag.drawTabFace) already used, and all three now call it, so a picked-up row no longer changes colour. Near the pointer, icons still light up toward their accent as before. It is opaque, so plugin painters that tint with the row colour still get an opaque tint.One visible change in the main window: resting tree icons go from near-black silhouettes to the label grey.
An earlier revision used
control.textat half opacity. Review flagged three problems with it: it handed plugin painters a translucent tint, it gave a carried row a different colour from its resting row, and its test restated the formula. It was dropped for this.SDK impact
core.widgets.treeGlyphColorreaches plugins at the next SDK release (no fingerprint move)Verified
main(Liquid Glass, Fizzy Dark) with the explorer floated (a float inlayout.zon) reproduced the report. The float's card was 38,39,45, its icons 28,29,36, and the main window's tree icons were also 28,29,36 on 65,67,74. The after-capture could not be taken because the display was asleep (screencapturereturned black), so the fix is checked by the test below rather than on screen.workbench: a file tree's glyphs stand off the main window's base and a float's pane alike(tests/integration.zig). On the measured float card, the old rest colour is within 15 luma and the new one is more than 60 away. The new one is also more than 40 away from the main window's base. For every dvui built-in theme, the glyph is more than 40 luma off both the window fill and the content fill.-Dnative-backend=sdl3, test-sdk-version, check-tests-reached.Follow-ups
None.
🤖 Generated with Claude Code