fix(bar): uniform ink-to-ink module gaps from painted widths - #11309
Open
ekollof wants to merge 2 commits into
Open
fix(bar): uniform ink-to-ink module gaps from painted widths#11309ekollof wants to merge 2 commits into
ekollof wants to merge 2 commits into
Conversation
added 2 commits
September 11, 2026 14:17
A fixed positioner spacing stacks on top of the widest widget bearings instead of absorbing them, so icon/icon pairs sat tighter than icon/text pairs, custom third-party widths broke the rhythm, and paint wider than its slot touched its neighbours. Every ModuleSlot now pads itself symmetrically from its own tight painted width — icon glyphs, pill labels (new tight bounds on WidgetButton), vector icon content (forwarded through BarIconButton), icon canvases — so neighbours sit exactly 12px ink-to-ink. Paint wider than its slot is compensated instead of overlapping; padding may intrude up to 3px into a widget's own empty margins to enforce the gap, never into paint. The button is measured one level inside the widget root (popup buttons nest deeper and stay out of reach); tray and the pure-gap spacer are exempt. Hidden widgets stay collapsed, and the open-panel mark still measures content, not padding.
ekollof
force-pushed
the
fix/bar-module-spacing
branch
from
September 11, 2026 12:17
b0d1ce1 to
deff5e3
Compare
ekollof
marked this pull request as ready for review
September 11, 2026 12:17
Author
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.

Bar sections keep ink-to-ink gaps uniform at 12px: every ModuleSlot measures its own tight painted width and pads itself symmetrically so paint sits 6px from each slot edge.
Why: a fixed positioner spacing stacks on top of the widest widget bearings instead of absorbing them, so icon/icon pairs sat tighter than icon/text pairs, custom third-party widths broke the rhythm, and paint wider than its slot (icon + percentage in an icon slot) touched its neighbours.
How:
Validation: new test/shell.d/bar-module-spacing-test.sh (static wiring checks, slotPad node units incl. the pair-gap identity, offscreen quickshell fixture proving kit paint metrics track content incl. overflowing paint). bar-test (88), bar-icon-geometry, bar-widget-contract all pass; qmllint shows no new warning classes on any touched QML file.
Tested live via integration-prs on my machine.