From 715ccdd4ae0f3019654b3f44b2f2011e42a48915 Mon Sep 17 00:00:00 2001 From: rope Date: Fri, 12 Jun 2026 20:10:20 +0100 Subject: [PATCH] quickshell: session and launcher panels expand from a point like the dropdowns Co-Authored-By: Claude Fable 5 --- settings/quickshell.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/settings/quickshell.nix b/settings/quickshell.nix index c8cb47b..81de7de 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -388,10 +388,17 @@ in id: sessionMenu property bool open: false property int selIdx: 0 + // Both axes animate so the panel expands from a small + // point on the column (like the top dropdowns' stub seed) + // instead of rolling out at full height. property real openW: open ? 64 : 0 + property real openH: open ? sessionCard.height + 24 : 36 Behavior on openW { NumberAnimation { duration: 280; easing.type: Easing.OutExpo } } + Behavior on openH { + NumberAnimation { duration: 280; easing.type: Easing.OutExpo } + } readonly property var actions: [ { icon: "lock", danger: false, act: "lock" }, @@ -420,7 +427,7 @@ in x: bar.width - Theme.frameWidth - openW y: Math.round((bar.height - height) / 2) width: openW - height: sessionCard.height + 24 + height: openH visible: openW > 0.5 focus: open @@ -534,14 +541,20 @@ in readonly property real panelW: 420 property real targetH: 36 + launcherList.contentHeight + (launcherList.count > 0 ? 8 : 0) + 24 + // Both axes animate: expands from a small point on the + // bottom edge (like the top dropdowns' stub seed). property real openH: open ? targetH : 0 + property real openW: open ? panelW : 80 Behavior on openH { NumberAnimation { duration: 280; easing.type: Easing.OutExpo } } + Behavior on openW { + NumberAnimation { duration: 280; easing.type: Easing.OutExpo } + } - x: Math.round((bar.width - panelW) / 2) + x: Math.round((bar.width - openW) / 2) y: bar.height - Theme.frameWidth - openH - width: panelW + width: openW height: openH visible: openH > 0.5