From e5def85946403a3b9479ea552d923f0f2b57de02 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 29 Mar 2026 19:20:39 +0200 Subject: [PATCH] hefty: toplayer: fade out on locking --- .../ii/modules/hefty/topLayer/HTopLayerPanel.qml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/hefty/topLayer/HTopLayerPanel.qml b/dots/.config/quickshell/ii/modules/hefty/topLayer/HTopLayerPanel.qml index 613aa55f9..32186034b 100644 --- a/dots/.config/quickshell/ii/modules/hefty/topLayer/HTopLayerPanel.qml +++ b/dots/.config/quickshell/ii/modules/hefty/topLayer/HTopLayerPanel.qml @@ -2,9 +2,10 @@ import QtQuick import Qt5Compat.GraphicalEffects import Quickshell import Quickshell.Wayland +import qs +import qs.services import qs.modules.common import qs.modules.common.widgets -import qs.services import "../../common" import "../../common/widgets/shapes" as S import "../../common/widgets/shapes/material-shapes.js" as MaterialShapes @@ -20,6 +21,10 @@ PanelWindow { id: root ///////////////// Window ////////////////// + property real opacity: 1 * (GlobalStates.barOpen && !GlobalStates.screenLocked) + Behavior on opacity { + animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this) + } color: "transparent" WlrLayershell.namespace: "quickshell:topLayerPanel" exclusionMode: ExclusionMode.Ignore @@ -72,6 +77,7 @@ PanelWindow { easing.bezierCurve: Appearance.animationCurves.expressiveDefaultSpatial } color: Appearance.colors.colLayer0 + opacity: root.opacity borderWidth: (root.currentPanel === bar && Config.options.bar.cornerStyle !== 1) ? 0 : 1 borderColor: Appearance.colors.colLayer0Border visible: false // cuz there's already the shadow @@ -79,6 +85,7 @@ PanelWindow { } DropShadow { id: shadow + opacity: root.opacity source: backgroundShape anchors.fill: backgroundShape radius: 10 @@ -134,12 +141,14 @@ PanelWindow { HBar { id: bar + opacity: root.opacity load: root.currentPanel === this && root.finishedMorphing // the extra condition is to prevent workspace widget from acting up when switching horizontal/vertical... should be fixed later shown: root.finishedMorphing } // HOverview { // id: overview + // opacity: root.opacity // load: root.currentPanel === this // shown: root.finishedMorphing // onRequestFocus: root.currentPanel = overview