From ab58af9a59e0e967073f4ef1edd6ec8417853c15 Mon Sep 17 00:00:00 2001 From: rope Date: Fri, 21 Aug 2026 12:52:09 +0100 Subject: [PATCH] quickshell: pin wallpaper picker to top of screen Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_015ARgsKhPrSr4QuNyHvYqyL --- settings/quickshell.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/settings/quickshell.nix b/settings/quickshell.nix index bf03f3a..d4d731e 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -4787,8 +4787,13 @@ in // is taller than the space (yMax < yMin). readonly property real yMin: Theme.frameWidth readonly property real yMax: bar.height - Theme.frameWidth - height + // A panel whose opener sits high on the bar looks adrift + // when it merely centres on it — pin it to the frame, the + // way the bottom cluster's menus already land on yMax. + property bool alignTop: false x: Theme.barWidth - y: Math.round(Math.max(yMin, Math.min(yMax, dropdownY - height / 2))) + y: alignTop ? Math.round(yMin) + : Math.round(Math.max(yMin, Math.min(yMax, dropdownY - height / 2))) width: fullWidth + 4 // +24, not +16: the shader insets the panel 8px top and // bottom, so +16 left the panel edge flush with the content @@ -5155,6 +5160,7 @@ in // no rebuild and no restart. BarDropdown { id: wallDropdown + alignTop: true fullWidth: wallCard.width + 2 * Theme.panelGap fullHeight: wallCard.height + 2 * Theme.panelGap