diff --git a/Config/BackgroundConfig.qml b/Config/BackgroundConfig.qml index f689ef0..be19afe 100644 --- a/Config/BackgroundConfig.qml +++ b/Config/BackgroundConfig.qml @@ -1,5 +1,6 @@ import Quickshell.Io import qs.Modules +import qs.Config JsonObject { property int wallFadeDuration: MaterialEasing.standardTime diff --git a/Config/Config.qml b/Config/Config.qml index 6a6b5f7..50c7155 100644 --- a/Config/Config.qml +++ b/Config/Config.qml @@ -21,6 +21,7 @@ Singleton { property alias barConfig: adapter.barConfig property alias transparency: adapter.transparency property alias baseFont: adapter.baseFont + property alias animScale: adapter.animScale FileView { id: root @@ -50,6 +51,7 @@ Singleton { property BarConfig barConfig: BarConfig {} property Transparency transparency: Transparency {} property string baseFont: "Segoe UI Variable Text" + property real animScale: 1.0 } } } diff --git a/Modules/MaterialEasing.qml b/Config/MaterialEasing.qml similarity index 57% rename from Modules/MaterialEasing.qml rename to Config/MaterialEasing.qml index 7fba813..53748fa 100644 --- a/Modules/MaterialEasing.qml +++ b/Config/MaterialEasing.qml @@ -4,22 +4,24 @@ import Quickshell Singleton { id: root + property real scale: Config.animScale + readonly property list emphasized: [0.05, 0, 2 / 15, 0.06, 1 / 6, 0.4, 5 / 24, 0.82, 0.25, 1, 1, 1] readonly property list emphasizedAccel: [0.3, 0, 0.8, 0.15, 1, 1] - readonly property int emphasizedAccelTime: 200 + readonly property int emphasizedAccelTime: 200 * scale readonly property list emphasizedDecel: [0.05, 0.7, 0.1, 1, 1, 1] - readonly property int emphasizedDecelTime: 400 - readonly property int emphasizedTime: 500 + readonly property int emphasizedDecelTime: 400 * scale + readonly property int emphasizedTime: 500 * scale readonly property list expressiveDefaultSpatial: [0.38, 1.21, 0.22, 1.00, 1, 1] - readonly property int expressiveDefaultSpatialTime: 500 + readonly property int expressiveDefaultSpatialTime: 500 * scale readonly property list expressiveEffects: [0.34, 0.80, 0.34, 1.00, 1, 1] - readonly property int expressiveEffectsTime: 200 + readonly property int expressiveEffectsTime: 200 * scale readonly property list expressiveFastSpatial: [0.42, 1.67, 0.21, 0.90, 1, 1] - readonly property int expressiveFastSpatialTime: 350 + readonly property int expressiveFastSpatialTime: 350 * scale readonly property list standard: [0.2, 0, 0, 1, 1, 1] readonly property list standardAccel: [0.3, 0, 1, 1, 1, 1] - readonly property int standardAccelTime: 200 + readonly property int standardAccelTime: 200 * scale readonly property list standardDecel: [0, 0, 0, 1, 1, 1] - readonly property int standardDecelTime: 250 - readonly property int standardTime: 300 + readonly property int standardDecelTime: 250 * scale + readonly property int standardTime: 300 * scale } diff --git a/Modules/Anim.qml b/Modules/Anim.qml index c4b7125..c32e713 100644 --- a/Modules/Anim.qml +++ b/Modules/Anim.qml @@ -1,8 +1,9 @@ import QtQuick import qs.Modules +import qs.Config NumberAnimation { - duration: 400 + duration: MaterialEasing.standardTime easing.type: Easing.BezierSpline easing.bezierCurve: MaterialEasing.standard } diff --git a/Modules/CAnim.qml b/Modules/CAnim.qml index 93cfba4..09b33b1 100644 --- a/Modules/CAnim.qml +++ b/Modules/CAnim.qml @@ -1,8 +1,9 @@ import QtQuick import qs.Modules +import qs.Config ColorAnimation { - duration: 400 + duration: MaterialEasing.standardTime easing.type: Easing.BezierSpline easing.bezierCurve: MaterialEasing.standard } diff --git a/Modules/Launcher.qml b/Modules/Launcher.qml index ae225b4..39ef87f 100644 --- a/Modules/Launcher.qml +++ b/Modules/Launcher.qml @@ -80,7 +80,7 @@ Scope { id: openAnim Anim { target: appListRect - duration: MaterialEasing.expressiveFastSpatialTime + duration: MaterialEasing.expressiveDefaultSpatialTime easing.bezierCurve: MaterialEasing.expressiveDefaultSpatial property: "implicitHeight" from: 40 @@ -116,11 +116,11 @@ Scope { id: closeAnim Anim { target: appListRect - duration: MaterialEasing.expressiveFastSpatialTime + duration: MaterialEasing.expressiveDefaultSpatialTime easing.bezierCurve: MaterialEasing.expressiveDefaultSpatial property: "implicitHeight" from: appListContainer.implicitHeight - to: 40 + to: 0 } SequentialAnimation { PauseAnimation { duration: 120 } diff --git a/Modules/Wrapper.qml b/Modules/Wrapper.qml index e1c7e06..a42c9ef 100644 --- a/Modules/Wrapper.qml +++ b/Modules/Wrapper.qml @@ -22,7 +22,7 @@ Item { property string queuedMode readonly property bool isDetached: detachedMode.length > 0 - property int animLength: 400 + property int animLength: MaterialEasing.emphasizedDecelTime property list animCurve: MaterialEasing.emphasized function detach(mode: string): void { @@ -39,7 +39,7 @@ Item { function close(): void { hasCurrent = false; animCurve = MaterialEasing.emphasizedDecel; - animLength = 400; + animLength = MaterialEasing.emphasizedDecelTime; detachedMode = ""; animCurve = MaterialEasing.emphasized; }