summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml
diff options
context:
space:
mode:
authornippy <you@example.com>2026-04-18 13:49:56 +0200
committernippy <you@example.com>2026-04-18 13:49:56 +0200
commit5d94c0a7d44a2255b81815a52a7056a94a39842d (patch)
tree759bdea9645c6a62f9e1e4c001f7d81cccd120d2 /raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml
parente79cdf210b267f21a186255ce1a4d50029439d54 (diff)
downloadRaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.tar.gz
RaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.zip
update Raveos themes
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml65
1 files changed, 65 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/WindowBlur.qml
new file mode 100644
index 0000000..3b45212
--- /dev/null
+++ b/raveos-theme/hyprland/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()
+}