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 QtQuick
import Quickshell
import Quickshell.Hyprland import Quickshell.Hyprland
import './Widgets' as Widgets import './Widgets' as Widgets
Item { Repeater {
id: corners model: Quickshell.screens
readonly property real radius: 12 delegate: Item {
Widgets.Corner { id: corners
anchors { readonly property real radius: 12
top: true Widgets.Corner {
left: true anchors {
top: true
left: true
}
radius: corners.radius
angle: 0
fillColor: "black"
screen: modelData
} }
radius: corners.radius Widgets.Corner {
angle: 0 anchors {
fillColor: "black" bottom: true
} left: true
Widgets.Corner { }
anchors { radius: corners.radius
bottom: true angle: 90
left: true fillColor: "black"
screen: modelData
} }
radius: corners.radius Widgets.Corner {
angle: 90 anchors {
fillColor: "black" bottom: true
} right: true
Widgets.Corner { }
anchors { radius: corners.radius
bottom: true angle: 180
right: true fillColor: "black"
screen: modelData
} }
radius: corners.radius Widgets.Corner {
angle: 180 anchors {
fillColor: "black" top: true
} right: true
Widgets.Corner { }
anchors { radius: corners.radius
top: true angle: 270
right: true fillColor: "black"
screen: modelData
} }
radius: corners.radius
angle: 270
fillColor: "black"
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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