197 lines
6.1 KiB
QML
197 lines
6.1 KiB
QML
pragma ComponentBehavior: Bound
|
|
import QtQuick
|
|
import QtQuick.Shapes
|
|
import Quickshell
|
|
import Quickshell.Wayland
|
|
import qs
|
|
import qs.settings
|
|
|
|
Item {
|
|
Variants {
|
|
model: Quickshell.screens
|
|
delegate: WlrLayershell {
|
|
id: tlWin
|
|
required property var modelData
|
|
screen: modelData
|
|
visible: Config.rounding > 0
|
|
layer: WlrLayer.Top
|
|
anchors {
|
|
top: true
|
|
left: true
|
|
}
|
|
// margins.top: Config.barHeight
|
|
implicitWidth: Config.rounding
|
|
implicitHeight: Config.rounding
|
|
color: "transparent"
|
|
|
|
Shape {
|
|
anchors.fill: parent
|
|
preferredRendererType: Shape.CurveRenderer
|
|
ShapePath {
|
|
fillColor: Qt.rgba(Colors.base00.r, Colors.base00.g, Colors.base00.b, Config.opacity)
|
|
strokeWidth: -1
|
|
startX: 0
|
|
startY: 0
|
|
PathLine {
|
|
x: tlWin.implicitWidth
|
|
y: 0
|
|
}
|
|
PathArc {
|
|
x: 0
|
|
y: tlWin.implicitHeight
|
|
radiusX: tlWin.implicitWidth
|
|
radiusY: tlWin.implicitHeight
|
|
direction: PathArc.Counterclockwise
|
|
}
|
|
PathLine {
|
|
x: 0
|
|
y: 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Top-right corners
|
|
Variants {
|
|
model: Quickshell.screens
|
|
delegate: WlrLayershell {
|
|
id: trWin
|
|
required property var modelData
|
|
screen: modelData
|
|
visible: Config.rounding > 0
|
|
exclusionMode: ExclusionMode.Ignore
|
|
layer: WlrLayer.Overlay
|
|
anchors {
|
|
top: true
|
|
right: true
|
|
}
|
|
margins.top: Config.barHeight
|
|
implicitWidth: Config.rounding
|
|
implicitHeight: Config.rounding
|
|
color: "transparent"
|
|
|
|
Shape {
|
|
anchors.fill: parent
|
|
preferredRendererType: Shape.CurveRenderer
|
|
ShapePath {
|
|
fillColor: Qt.rgba(Colors.base00.r, Colors.base00.g, Colors.base00.b, Config.opacity)
|
|
strokeWidth: -1
|
|
startX: 0
|
|
startY: 0
|
|
PathLine {
|
|
x: trWin.implicitWidth
|
|
y: 0
|
|
}
|
|
PathLine {
|
|
x: trWin.implicitWidth
|
|
y: trWin.implicitHeight
|
|
}
|
|
PathArc {
|
|
x: 0
|
|
y: 0
|
|
radiusX: trWin.implicitWidth
|
|
radiusY: trWin.implicitHeight
|
|
direction: PathArc.Counterclockwise
|
|
}
|
|
PathLine {
|
|
x: 0
|
|
y: 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Bottom-left corners
|
|
Variants {
|
|
model: Quickshell.screens
|
|
delegate: WlrLayershell {
|
|
id: blWin
|
|
required property var modelData
|
|
screen: modelData
|
|
visible: Config.rounding > 0
|
|
exclusionMode: ExclusionMode.Ignore
|
|
layer: WlrLayer.Overlay
|
|
anchors {
|
|
bottom: true
|
|
left: true
|
|
}
|
|
implicitWidth: Config.rounding
|
|
implicitHeight: Config.rounding
|
|
color: "transparent"
|
|
|
|
Shape {
|
|
anchors.fill: parent
|
|
preferredRendererType: Shape.CurveRenderer
|
|
ShapePath {
|
|
fillColor: Qt.rgba(Colors.base00.r, Colors.base00.g, Colors.base00.b, Config.opacity)
|
|
strokeWidth: -1
|
|
startX: 0
|
|
startY: 0
|
|
PathArc {
|
|
x: blWin.implicitWidth
|
|
y: blWin.implicitHeight
|
|
radiusX: blWin.implicitWidth
|
|
radiusY: blWin.implicitHeight
|
|
direction: PathArc.Counterclockwise
|
|
}
|
|
PathLine {
|
|
x: 0
|
|
y: blWin.implicitHeight
|
|
}
|
|
PathLine {
|
|
x: 0
|
|
y: 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Bottom-right corners
|
|
Variants {
|
|
model: Quickshell.screens
|
|
delegate: WlrLayershell {
|
|
id: brWin
|
|
required property var modelData
|
|
screen: modelData
|
|
visible: Config.rounding > 0
|
|
exclusionMode: ExclusionMode.Ignore
|
|
layer: WlrLayer.Overlay
|
|
anchors {
|
|
bottom: true
|
|
right: true
|
|
}
|
|
implicitWidth: Config.rounding
|
|
implicitHeight: Config.rounding
|
|
color: "transparent"
|
|
|
|
Shape {
|
|
anchors.fill: parent
|
|
preferredRendererType: Shape.CurveRenderer
|
|
ShapePath {
|
|
fillColor: Qt.rgba(Colors.base00.r, Colors.base00.g, Colors.base00.b, Config.opacity)
|
|
strokeWidth: -1
|
|
startX: brWin.implicitWidth
|
|
startY: brWin.implicitHeight
|
|
PathLine {
|
|
x: 0
|
|
y: brWin.implicitHeight
|
|
}
|
|
PathArc {
|
|
x: brWin.implicitWidth
|
|
y: 0
|
|
radiusX: brWin.implicitWidth
|
|
radiusY: brWin.implicitHeight
|
|
direction: PathArc.Counterclockwise
|
|
}
|
|
PathLine {
|
|
x: brWin.implicitWidth
|
|
y: brWin.implicitHeight
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|