import QtQuick import QtQuick.Effects import Quickshell import Quickshell.Wayland import "../../config.js" as Config Variants { model: Quickshell.screens PanelWindow { required property var modelData property var wallpaper: Config.wallpapers.find(function(w) { return w.outputs.indexOf(modelData.name) !== -1 }) screen: modelData visible: wallpaper !== undefined anchors { top: true bottom: true left: true right: true } exclusionMode: ExclusionMode.Ignore WlrLayershell.layer: WlrLayer.Background WlrLayershell.namespace: "wallpaper" Image { id: wallpaperImage anchors.fill: parent source: wallpaper ? wallpaper.path : "" fillMode: wallpaper ? Image[wallpaper.fillMode] : Image.PreserveAspectCrop opacity: wallpaper ? wallpaper.opacity : 1.0 asynchronous: wallpaper ? wallpaper.asynchronous : true cache: wallpaper ? wallpaper.cache : true } MultiEffect { anchors.fill: wallpaperImage source: wallpaperImage blurEnabled: wallpaper ? wallpaper.blur > 0 : false blur: wallpaper ? wallpaper.blur : 0 } } }