summaryrefslogtreecommitdiff
path: root/modules/background/Background.qml
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-25 20:13:55 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-25 20:13:55 +1000
commit783057ab0d694de7f3d79e96851bcdcfe1965cbd (patch)
treeb70d2dc09e816ab6a4f3e6bf1b1fca148f258eed /modules/background/Background.qml
parentreadme: fix confusing config statement (diff)
downloadcaelestia-shell-783057ab0d694de7f3d79e96851bcdcfe1965cbd.tar.gz
caelestia-shell-783057ab0d694de7f3d79e96851bcdcfe1965cbd.tar.bz2
caelestia-shell-783057ab0d694de7f3d79e96851bcdcfe1965cbd.zip
background: add visualiser
Also dashboard.visualiserBars -> services.visualiserBars
Diffstat (limited to 'modules/background/Background.qml')
-rw-r--r--modules/background/Background.qml33
1 files changed, 32 insertions, 1 deletions
diff --git a/modules/background/Background.qml b/modules/background/Background.qml
index 3da8bf9..bdba570 100644
--- a/modules/background/Background.qml
+++ b/modules/background/Background.qml
@@ -1,4 +1,8 @@
+pragma ComponentBehavior: Bound
+
+import qs.components
import qs.components.containers
+import qs.services
import qs.config
import Quickshell
import Quickshell.Wayland
@@ -27,7 +31,34 @@ Loader {
anchors.left: true
anchors.right: true
- Wallpaper {}
+ Wallpaper {
+ id: wallpaper
+ }
+
+ Loader {
+ readonly property bool shouldBeActive: Config.background.visualiser.enabled && (!Config.background.visualiser.autoHide || Hypr.monitorFor(win.modelData).activeWorkspace.toplevels.values.every(t => t.lastIpcObject.floating)) ? 1 : 0
+ property real offset: shouldBeActive ? 0 : win.modelData.height * 0.2
+
+ anchors.fill: parent
+ anchors.topMargin: offset
+ anchors.bottomMargin: -offset
+ opacity: shouldBeActive ? 1 : 0
+ active: opacity > 0
+ asynchronous: true
+
+ sourceComponent: Visualiser {
+ screen: win.modelData
+ wallpaper: wallpaper
+ }
+
+ Behavior on offset {
+ Anim {}
+ }
+
+ Behavior on opacity {
+ Anim {}
+ }
+ }
Loader {
anchors.right: parent.right