Skip to content

island: fix pill alignment and bar flicker in a bar - #4199

Open
Conava wants to merge 1 commit into
duxlabs-dev:masterfrom
Conava:island-widget-band
Open

Conava wants to merge 1 commit into
duxlabs-dev:masterfrom
Conava:island-widget-band

Conversation

@Conava

@Conava Conava commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Description

Two fixes for the island widget in a bar.

The pill was off-center on a floating bar and poked above its top edge, because it was sized and placed from the bar plus its edge spacing. It now uses the actual bar for its sizing.

The bar also flickered for a frame after the island closed on Hyprland. The bar window shrinks back at that point, and Hyprland showed the old content squeezed into the new size. The window content now shrinks first, shortly after the close, the same way #4129 does it for popouts.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing behavior)
  • Refactor / internal cleanup
  • Documentation
  • Other

Related issues

Screenshots / video

Checklist

  • My code follows the conventions in CONTRIBUTING.md
  • I have tested my changes locally
  • New user-facing strings are wrapped in I18n.tr() with translator context, reusing existing terms where possible
  • Go changes: ran make fmt, added/updated tests, make test passes, and go mod tidy is clean
  • QML changes: ran make lint-qml with no new warnings
  • I have opened a corresponding pull request in dux-docs to document any new behaviors: https://github.com/duxlabs-dev/dux-docs

The band handed to a hosted island was the bar plus its edge spacing, so
on a floating bar the pill was too tall, off-center and poked above the
bar. Pass the visible bar and the spacing as an offset instead.

The bar window shrinks back after the island closes, and Hyprland draws
the old buffer squeezed into the new size for a frame. Resize the buffer
first and only then the layer surface. This waits 150 ms after the close,
because a frame rendered at the old size that lands after the resize is
squeezed the same way.
@github-actions github-actions Bot added fix ui Quickshell UI under quickshell/ labels Nov 7, 2026

This branch has not been deployed

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

Labels

fix ui Quickshell UI under quickshell/

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant