fix multimonitor corners

This commit is contained in:
2026-07-05 07:12:37 -07:00
parent 593fc55b53
commit cb711ef669
6 changed files with 85 additions and 69 deletions

View File

@@ -1,44 +1,53 @@
import QtQuick
import Quickshell
import Quickshell.Hyprland
import './Widgets' as Widgets
Item {
id: corners
readonly property real radius: 12
Widgets.Corner {
anchors {
top: true
left: true
Repeater {
model: Quickshell.screens
delegate: Item {
id: corners
readonly property real radius: 12
Widgets.Corner {
anchors {
top: true
left: true
}
radius: corners.radius
angle: 0
fillColor: "black"
screen: modelData
}
radius: corners.radius
angle: 0
fillColor: "black"
}
Widgets.Corner {
anchors {
bottom: true
left: true
Widgets.Corner {
anchors {
bottom: true
left: true
}
radius: corners.radius
angle: 90
fillColor: "black"
screen: modelData
}
radius: corners.radius
angle: 90
fillColor: "black"
}
Widgets.Corner {
anchors {
bottom: true
right: true
Widgets.Corner {
anchors {
bottom: true
right: true
}
radius: corners.radius
angle: 180
fillColor: "black"
screen: modelData
}
radius: corners.radius
angle: 180
fillColor: "black"
}
Widgets.Corner {
anchors {
top: true
right: true
Widgets.Corner {
anchors {
top: true
right: true
}
radius: corners.radius
angle: 270
fillColor: "black"
screen: modelData
}
radius: corners.radius
angle: 270
fillColor: "black"
}
}

View File

@@ -23,7 +23,12 @@ WlSessionLock {
id: content
anchors.fill: parent
opacity: !lock.animate || capture.ready
color: "#141414"
color: "#000"
Rectangle {
anchors.fill: parent
radius: 16
color: "#141414"
}
Rectangle {
anchors {
bottom: parent.bottom
@@ -80,7 +85,7 @@ WlSessionLock {
anchors.fill: parent
color: "white"
opacity: capture.ready
radius: 0
radius: 12
RectangularShadow {
anchors.fill: parent
spread: 2
@@ -144,7 +149,7 @@ WlSessionLock {
}
NumberAnimation on radius {
running: exit.running
to: 0
to: 12
duration: 800
}
}

View File

@@ -147,7 +147,7 @@ Column {
}
onTapped: {
dpmsToggle.active = false;
Hyprland.dispatch("dpms off");
Hyprland.dispatch("hl.dsp.dpms(false)");
resetTimer.start();
root.close();
}

View File

@@ -158,6 +158,7 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
font.pixelSize: 64
text: modelData.emoji ?? ""
color: "white"
}
Text {
anchors {

View File

@@ -28,37 +28,37 @@ Variants {
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
}
radius: 40
PropertyAnimation on radius {
id: radiusAnimation
running: false
to: 16
duration: 1000
}
transform: [
Translate {
y: 160
PropertyAnimation on y {
duration: 500
to: 0
easing.type: Easing.OutCubic
onFinished: scaleAnimation.start()
}
},
Scale {
origin { x: width/2; y: height/2 }
xScale: 0.8
yScale: xScale
PropertyAnimation on xScale {
id: scaleAnimation
running: false
duration: 1000
to: 1
easing.type: Easing.InOutCubic
onStarted: radiusAnimation.start()
}
}
]
radius: 16
// PropertyAnimation on radius {
// id: radiusAnimation
// running: false
// to: 16
// duration: 1000
// }
// transform: [
// Translate {
// y: 160
// PropertyAnimation on y {
// duration: 500
// to: 0
// easing.type: Easing.OutCubic
// onFinished: scaleAnimation.start()
// }
// },
// Scale {
// origin { x: width/2; y: height/2 }
// xScale: 0.8
// yScale: xScale
// PropertyAnimation on xScale {
// id: scaleAnimation
// running: false
// duration: 1000
// to: 1
// easing.type: Easing.InOutCubic
// onStarted: radiusAnimation.start()
// }
// }
// ]
}
}
}

View File

@@ -1,4 +1,5 @@
const emojis = [
{"emoji": "¯\\_(ツ)_/¯", "name": "shruggie"},
{"emoji": "😀", "name": "grinning face"},
{"emoji": "😃", "name": "grinning face with big eyes"},
{"emoji": "😄", "name": "grinning face with smiling eyes"},