Skip to content

V1 bar: left/center/right runs overlap on narrow outputs — responsive staging ignores unassigned provider entries #44

Description

@red5skywalker

Component / plugin

hancore.shibumi.bar — V1 (shellStyle: "shibumi"), styles/shibumi/BarSurface.qml

Shibumi version

0.1.1-beta.11, at acd3b57

Omarchy / Quickshell version

Omarchy 4.0.0.alpha, Quickshell 0.3.1 (Arch)

What happened

On a narrow output the left, center and right runs draw on top of each other —
the left run's trailing pill, the G8 center anchor and the right run's leading
pill all land in the same band as unreadable overlapping text, instead of the bar
compacting.

What you expected

Responsive staging drops groups until the composition fits, as it does when the
width pressure comes from grouped widgets alone. Runs should never overlap.

Where it comes from

narrowCandidateWidths in BarSurface.qml is built only from
leftGroups/rightGroups stage budgets, and GroupSection.stageBudgetWidths
walks just its own group repeater. That leaves out the unassigned-provider decks
(left-extra / center-extra / right-extra, fed by
unassignedLayoutEntries()), which render inside the same run Rows and are never
staged away. So need(0) under-reports, nextNarrowStage never trips, and the
center falls into the midpoint fallback at BarSurface.qml:145 — drawing through
both side runs.

naturalShellWidth just above it does include the extras, but only sizes
fit/dock/notch, so those forms are fine and shibumi/full are not.

Steps to reproduce

  1. V1 (shellStyle: "shibumi") on a narrow output — seen at 1366x768.
  2. Add any provider entry present in bar.layout but absent from
    bar.shibumi.order, so it routes to an *-extra region rather than a group.
    Two such pills (~80px) were enough.
  3. Fill the rest of the bar so true content width slightly exceeds the output.
  4. Runs overlap instead of compacting, and responsiveStage stays 0 — visible
    in G10 (quick-access) still being shown while the bar clearly overflows.

Shell logs / QML errors

None. No QML warnings or errors, which is what makes it look like a rendering
artifact rather than layout arithmetic.

Display setup

Single output, eDP-1, 1366x768, scale 1, bar at top, V1 shibumi shell.


I have a fix running locally (charge the extras decks to every stage budget).
Happy to open a PR if useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions