Problem
Region { item: someItem } only connects to the item's own xChanged/yChanged signals. When an ancestor of the tracked item moves, build() is never re-triggered because those signals don't fire on the registered item itself.
This causes blur regions and input masks to become stale at their initial position whenever items move under an animated parent (for example, blurred notification toasts sliding in/out or being repositioned).
Fix
Walk the item's parent chain on setItem() and connect to each ancestor's xChanged/yChanged, forwarding them to the existing itemChanged signal. This ensures build() gets called whenever the item's position in window-space changes, regardless of which ancestor moved.
I already have that fix implemented there as a reference: https://github.com/calops/quickshell/tree/fix/region-parent-tracking
It seems to be working properly on my side.
Problem
Region { item: someItem }only connects to the item's ownxChanged/yChangedsignals. When an ancestor of the tracked item moves,build()is never re-triggered because those signals don't fire on the registered item itself.This causes blur regions and input masks to become stale at their initial position whenever items move under an animated parent (for example, blurred notification toasts sliding in/out or being repositioned).
Fix
Walk the item's parent chain on
setItem()and connect to each ancestor'sxChanged/yChanged, forwarding them to the existingitemChangedsignal. This ensuresbuild()gets called whenever the item's position in window-space changes, regardless of which ancestor moved.I already have that fix implemented there as a reference: https://github.com/calops/quickshell/tree/fix/region-parent-tracking
It seems to be working properly on my side.