feat: show osd on border hover
This commit is contained in:
parent
c650f4392d
commit
137fd56bb2
3 changed files with 38 additions and 0 deletions
|
|
@ -68,6 +68,12 @@ Scope {
|
|||
LayerShadow {
|
||||
source: effect
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onPositionChanged: event => Drawers.setPosForScreen(root.screen, event.x, event.y)
|
||||
}
|
||||
}
|
||||
|
||||
ExclusionZone {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ Variants {
|
|||
|
||||
required property ShellScreen modelData
|
||||
readonly property Brightness.Monitor monitor: Brightness.getMonitorForScreen(modelData)
|
||||
property int winHeight
|
||||
property bool osdVisible
|
||||
property bool hovered
|
||||
|
||||
|
|
@ -50,6 +51,15 @@ Variants {
|
|||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: Drawers
|
||||
|
||||
function onPosChanged(screen: ShellScreen, x: int, y: int): void {
|
||||
if (screen === root.modelData && x > screen.width / 2 && y > (screen.height - root.winHeight) / 2 && y < (screen.height + root.winHeight) / 2)
|
||||
root.show();
|
||||
}
|
||||
}
|
||||
|
||||
LazyLoader {
|
||||
loading: true
|
||||
|
||||
|
|
@ -68,6 +78,8 @@ Variants {
|
|||
anchors.right: true
|
||||
height: wrapper.height
|
||||
|
||||
Component.onCompleted: root.winHeight = height
|
||||
|
||||
Background {
|
||||
id: bg
|
||||
|
||||
|
|
|
|||
20
services/Drawers.qml
Normal file
20
services/Drawers.qml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
pragma Singleton
|
||||
|
||||
import Quickshell
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
property var positions: ({})
|
||||
|
||||
signal posChanged(screen: ShellScreen, x: int, y: int)
|
||||
|
||||
function getPosForScreen(screen: ShellScreen): point {
|
||||
return positions[screen] || Qt.point(0, 0);
|
||||
}
|
||||
|
||||
function setPosForScreen(screen: ShellScreen, x: int, y: int): void {
|
||||
positions[screen] = Qt.point(x, y);
|
||||
posChanged(screen, x, y);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue