qs: improve bar's animations

This commit is contained in:
2026-03-21 07:13:56 +01:00
parent b677b8aa49
commit 190570da7b
4 changed files with 22 additions and 23 deletions
@@ -23,7 +23,8 @@ Item {
readonly property real viewportHeight: outputHeight > 0 ? outputHeight : height
readonly property real scrollProgress: {
if (workspaceCount <= 1 || focusedIndex < 0)
return 0.5; // Center
return 0.5;
// Center
return Math.max(0, Math.min(1, (focusedIndex - 1) / (workspaceCount - 1)));
}
@@ -142,6 +143,7 @@ Item {
Behavior on blur {
NumberAnimation {
duration: Style.animationSlow
easing.type: Easing.InOutCubic
}
}
@@ -149,6 +151,7 @@ Item {
Behavior on colorization {
NumberAnimation {
duration: Style.animationSlow
easing.type: Easing.InOutCubic
}
}
@@ -31,6 +31,21 @@ Variants {
top: true
}
Rectangle {
anchors.fill: parent
color: Colors.mSurface
opacity: BarService.focusMode ? 1 : 0
Behavior on opacity {
NumberAnimation {
duration: Style.animationSlow
easing.type: Easing.InOutCubic
}
}
}
Rectangle {
id: barBackground
@@ -39,30 +54,12 @@ Variants {
gradient: Gradient {
GradientStop {
position: 0
color: Qt.rgba(Colors.mSurface.r, Colors.mSurface.g, Colors.mSurface.b, BarService.focusMode ? 1 : 0.8)
Behavior on color {
ColorAnimation {
duration: Style.animationSlowest
easing.type: Easing.InOutCubic
}
}
color: Qt.rgba(Colors.mSurface.r, Colors.mSurface.g, Colors.mSurface.b, 0.8)
}
GradientStop {
position: 1
color: Qt.rgba(Colors.mSurface.r, Colors.mSurface.g, Colors.mSurface.b, BarService.focusMode ? 1 : 0)
Behavior on color {
ColorAnimation {
duration: Style.animationSlowest
easing.type: Easing.InOutCubic
}
}
color: Qt.rgba(Colors.mSurface.r, Colors.mSurface.g, Colors.mSurface.b, 0)
}
}
@@ -173,7 +173,7 @@ Scope {
Behavior on opacity {
NumberAnimation {
duration: Style.animationSlowest
duration: Style.animationSlow
easing.type: Easing.InOutCubic
}
@@ -1,4 +1,3 @@
import QtQml
import QtQuick
import Quickshell
import Quickshell.Io