blur: clip regions to the window so hyprland stops blurring whole surfaces

fixes #3480
This commit is contained in:
bbedward committed 2026-09-24 22:00:28 -04:00
1 parent 82fd310732
commit 9a1c622492
2 files changed
+13 -1

No files matched your search

+6 -1
View File
@@ -120,7 +120,12 @@ PanelWindow {
readonly property real alignedEdgeGap: Theme.px(edgeGap, dpr)
readonly property real slideoutSlideSnapX: Theme.snap(slideContainer.slideOffset, dpr)
onIsVisibleChanged: slideSpring.retarget(isVisible ? 0 : (slideFromLeft ? -slideContainer.width : slideContainer.width))
onIsVisibleChanged: {
slideSpring.retarget(isVisible ? 0 : (slideFromLeft ? -slideContainer.width : slideContainer.width));
if (isVisible || slideSpring.running)
return;
mappedVisible = false;
}
mask: Region {
item: Rectangle {
+7
View File
@@ -50,6 +50,13 @@ Item {
width: root.clipEnabled ? root.clipWidth : root.blurWidth
height: root.clipEnabled ? root.clipHeight : root.blurHeight
}
// Hyprland blurs the whole surface when the region lies entirely outside it
Region {
intersection: Intersection.Intersect
width: root.targetWindow?.width ?? 0
height: root.targetWindow?.height ?? 0
}
}
function _apply() {