fixup layering

This commit is contained in:
lucy 2026-08-28 19:27:27 +02:00
commit a61ad3e7b9
6 changed files with 117 additions and 3 deletions

View file

@ -16,6 +16,10 @@ Rectangle {
radius: Config.cfg.appearance.rounding
implicitWidth: audioLayout.implicitWidth + 10
implicitHeight: audioLayout.implicitHeight + 10
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.AllButtons
}
ColumnLayout {
id: audioLayout

View file

@ -9,6 +9,10 @@ import qs.settings
Rectangle {
id: wallPicker
color: "transparent"
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.AllButtons
}
Rectangle {
id: container
anchors.fill: parent

101
modules/overlays/#Top.qml# Normal file
View file

@ -0,0 +1,101 @@
import QtQuick
import Quickshell
import Quickshell.Wayland
import qs.modules.Services
import qs.modules.applets
import qs.settings
Variants {
model: Quickshell.screens
delegate: PanelWindow {
id: root
required property ShellScreen modelData
property bool shown: WidgetTracker.current !== "" && WidgetTracker.screen === modelData
screen: modelData
anchors {
top: true
left: true
bottom: true
right: true
}
exclusionMode: ExclusionMode.Ignore
color: 'transparent'
visible: true
mask: Region {
item: root.shown ? dismisser : null
}
WlrLayershell.keyboardFocus: shown ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
Item {
anchors.fill: parent
focus: true
Keys.onEscapePressed: event => {
WidgetTracker.close();
event.accepted = true;
}
VolPopup {
id: volPopup
z: 1
property bool shown: root.shown && WidgetTracker.current === "volume"
opacity: shown ? 1 : 0
visible: opacity > 0
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: Config.cfg.bar.floating ? Config.cfg.bar.height + 20 : Config.cfg.bar.height
anchors.rightMargin: 10
Behavior on opacity {
NumberAnimation {
duration: 140
easing.type: Easing.OutCubic
}
}
transform: Translate {
y: volPopup.shown ? 0 : -12
Behavior on y {
NumberAnimation {
duration: 140
easing.type: Easing.OutCubic
}
}
}
}
WallPicker {
id: wallpapers
z: 1
property bool shown: root.shown && WidgetTracker.current === "wallpapers"
opacity: shown ? 1 : 0
visible: opacity > 0
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
anchors.margins: 20
implicitWidth: 1000
implicitHeight: 200
Behavior on opacity {
NumberAnimation {
duration: 200
easing.type: Easing.OutCubic
}
}
transform: Translate {
y: wallpapers.shown ? 0 : 12
Behavior on y {
NumberAnimation {
duration: 200
easing.type: Easing.OutCubic
}
}
}
}
MouseArea {
id: dismisser
z: 0
anchors.fill: parent
acceptedButtons: Qt.LeftButton
onClicked: WidgetTracker.close()
}
}
}
}

1
modules/overlays/.#Top.qml Symbolic link
View file

@ -0,0 +1 @@
lucy@nerv.13460:1787927060

View file

@ -28,7 +28,7 @@ Variants {
WlrLayershell.keyboardFocus: shown ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
Item {
anchors.fill: parent
focus: true
focus: true
Keys.onEscapePressed: event => {
WidgetTracker.close();
event.accepted = true;
@ -71,6 +71,10 @@ Variants {
anchors.margins: 20
implicitWidth: 1000
implicitHeight: 200
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.AllButtons
}
Behavior on opacity {
NumberAnimation {

View file

@ -2,7 +2,7 @@
"appearance": {
"font": "Iosevka",
"fontSize": 14,
"iconSize": 22,
"iconSize": 14,
"rounding": 16
},
"bar": {
@ -12,6 +12,6 @@
},
"wallpaper": {
"wallDir": "/home/lucy/.walls/",
"wallpaper": "/home/lucy/.walls/walkingcastle.png"
"wallpaper": "/home/lucy/.walls/frierensuff.png"
}
}