quickshell: flush dropdowns spawn from their own button again — the SDF melt handles arrival

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-06-12 10:07:56 +01:00
parent a514893f3e
commit bfcc54d0db

View file

@ -1213,19 +1213,18 @@ in
function stubX(dd) { function stubX(dd) {
return Math.round(Math.min(bar.width - Theme.frameWidth - stubW, Math.max(Theme.frameWidth, dd.dropdownX - stubW / 2))); return Math.round(Math.min(bar.width - Theme.frameWidth - stubW, Math.max(Theme.frameWidth, dd.dropdownX - stubW / 2)));
} }
// Flush dropdowns keep their right edge welded to the // All dropdowns grow from / shrink to their own widget
// frame column: they grow down-and-left from a stub // flush ones melt onto the frame column as they expand
// parked at the column and shrink back into it. (x and // (the SDF chrome makes that junction liquid, so the old
// width share one animation curve, so x+width the right // corner-parked seed workaround is unnecessary).
// edge is constant mid-flight.)
function seedFromButton(dd) { function seedFromButton(dd) {
snap = true; snap = true;
tX = dd.alignRight ? bar.width - Theme.frameWidth - stubW : stubX(dd); tX = stubX(dd);
tW = stubW; tW = stubW;
snap = false; snap = false;
} }
function shrinkToButton(dd) { function shrinkToButton(dd) {
tX = dd.alignRight ? bar.width - Theme.frameWidth - stubW : stubX(dd); tX = stubX(dd);
tW = stubW; tW = stubW;
} }