screen corners: mask layer visibility to the corners only

This commit is contained in:
end-4
2025-06-07 11:29:32 +02:00
parent 810ea2ce3b
commit e03800cf64
@@ -5,6 +5,7 @@ import QtQuick.Controls
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell import Quickshell
import Quickshell.Wayland import Quickshell.Wayland
import Quickshell.Hyprland
Scope { Scope {
id: screenCorners id: screenCorners
@@ -23,6 +24,20 @@ Scope {
mask: Region { mask: Region {
item: null item: null
} }
HyprlandWindow.visibleMask: Region {
Region {
item: topLeftCorner
}
Region {
item: topRightCorner
}
Region {
item: bottomLeftCorner
}
Region {
item: bottomRightCorner
}
}
WlrLayershell.namespace: "quickshell:screenCorners" WlrLayershell.namespace: "quickshell:screenCorners"
WlrLayershell.layer: WlrLayer.Overlay WlrLayershell.layer: WlrLayer.Overlay
color: "transparent" color: "transparent"
@@ -35,24 +50,28 @@ Scope {
} }
RoundCorner { RoundCorner {
id: topLeftCorner
anchors.top: parent.top anchors.top: parent.top
anchors.left: parent.left anchors.left: parent.left
size: Appearance.rounding.screenRounding size: Appearance.rounding.screenRounding
corner: cornerEnum.topLeft corner: cornerEnum.topLeft
} }
RoundCorner { RoundCorner {
id: topRightCorner
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
size: Appearance.rounding.screenRounding size: Appearance.rounding.screenRounding
corner: cornerEnum.topRight corner: cornerEnum.topRight
} }
RoundCorner { RoundCorner {
id: bottomLeftCorner
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.left: parent.left anchors.left: parent.left
size: Appearance.rounding.screenRounding size: Appearance.rounding.screenRounding
corner: cornerEnum.bottomLeft corner: cornerEnum.bottomLeft
} }
RoundCorner { RoundCorner {
id: bottomRightCorner
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.right: parent.right anchors.right: parent.right
size: Appearance.rounding.screenRounding size: Appearance.rounding.screenRounding