summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml
diff options
context:
space:
mode:
authorAlexanderCurl <alexc@alexc.hu>2026-04-18 17:46:06 +0100
committerAlexanderCurl <alexc@alexc.hu>2026-04-18 17:46:06 +0100
commit70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 (patch)
treeab1123d4067c1b086dd6faa7ee4ea643236b565a /raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml
parent5d94c0a7d44a2255b81815a52a7056a94a39842d (diff)
downloadRaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.tar.gz
RaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.zip
Replaced file structures for themes in the correct format
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml65
1 files changed, 65 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml
new file mode 100644
index 0000000..3b45212
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml
@@ -0,0 +1,65 @@
+import QtQuick
+import qs.Services
+
+Item {
+ id: root
+
+ visible: false
+
+ required property var targetWindow
+ property var blurItem: null
+ property real blurX: 0
+ property real blurY: 0
+ property real blurWidth: 0
+ property real blurHeight: 0
+ property real blurRadius: 0
+
+ property var _region: null
+
+ function _apply() {
+ if (!BlurService.enabled || !targetWindow) {
+ _cleanup();
+ return;
+ }
+
+ if (!_region)
+ _region = BlurService.createBlurRegion(targetWindow);
+
+ if (!_region)
+ return;
+
+ _region.item = Qt.binding(() => root.blurItem);
+ _region.x = Qt.binding(() => root.blurX);
+ _region.y = Qt.binding(() => root.blurY);
+ _region.width = Qt.binding(() => root.blurWidth);
+ _region.height = Qt.binding(() => root.blurHeight);
+ _region.radius = Qt.binding(() => root.blurRadius);
+ }
+
+ function _cleanup() {
+ if (!_region)
+ return;
+ BlurService.destroyBlurRegion(targetWindow, _region);
+ _region = null;
+ }
+
+ Connections {
+ target: BlurService
+ function onEnabledChanged() {
+ root._apply();
+ }
+ }
+
+ Connections {
+ target: root.targetWindow
+ function onVisibleChanged() {
+ if (root.targetWindow && root.targetWindow.visible) {
+ root._region = null;
+ root._apply();
+ }
+ }
+ }
+
+ Component.onCompleted: _apply()
+ Component.onDestruction: _cleanup()
+}