You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm building a custom Hyprland shell with Quickshell and ran into a rendering issue I can't fully solve on the QML side. I'm opening this issue because I believe the root cause might be in how exclusiveZone updates are applied to the compositor relative to the actual window content render.
The setup
I have a PanelWindow acting as a collapsible sidebar. It animates between a "collapsed" width and an "expanded" width using a NumberAnimation on a single shared property, which then drives both exclusiveZone and the visual Rectangle width that fills the panel. The idea was that since both values come from the same animated property, they should stay perfectly in sync frame by frame.
The problem
When you open the sidebar, everything looks normal at high speed, but at low speed the gap appears.
When closing the sidebar, at fast speed the background immediately changes to the target size, leaving a gap until the exclusive zone shrinks to the same point. At slow speed, the same opening behavior occurs.
Any insight into whether this is expected behavior on the Hyprland side would be super helpful. Happy to provide more repro steps or test patches if needed.
Description
I'm building a custom Hyprland shell with Quickshell and ran into a rendering issue I can't fully solve on the QML side. I'm opening this issue because I believe the root cause might be in how
exclusiveZoneupdates are applied to the compositor relative to the actual window content render.The setup
I have a
PanelWindowacting as a collapsible sidebar. It animates between a "collapsed" width and an "expanded" width using aNumberAnimationon a single shared property, which then drives bothexclusiveZoneand the visualRectanglewidth that fills the panel. The idea was that since both values come from the same animated property, they should stay perfectly in sync frame by frame.The problem
When you open the sidebar, everything looks normal at high speed, but at low speed the gap appears.
When closing the sidebar, at fast speed the background immediately changes to the target size, leaving a gap until the exclusive zone shrinks to the same point. At slow speed, the same opening behavior occurs.
This is demonstrated in the attached video.
Current code
What I've already tried
exclusiveZoneand the contentRectangle.widthseparately with twoNumberAnimations in aParallelAnimation— same desync.Behavior on widthon theRectangleand lettingexclusiveZonefollow viaonWidthChanged— same issue.Environment
Repo
https://github.com/AugustoMegener/primary-shell/tree/main/qml
Video demo
2026-06-18.10-59-37.mp4
Any insight into whether this is expected behavior on the Hyprland side would be super helpful. Happy to provide more repro steps or test patches if needed.