summaryrefslogtreecommitdiff
path: root/modules/drawers
diff options
context:
space:
mode:
Diffstat (limited to 'modules/drawers')
-rw-r--r--modules/drawers/Backgrounds.qml8
-rw-r--r--modules/drawers/Interactions.qml13
-rw-r--r--modules/drawers/Panels.qml12
3 files changed, 33 insertions, 0 deletions
diff --git a/modules/drawers/Backgrounds.qml b/modules/drawers/Backgrounds.qml
index a78c667..d4ea1d7 100644
--- a/modules/drawers/Backgrounds.qml
+++ b/modules/drawers/Backgrounds.qml
@@ -5,6 +5,7 @@ import "root:/modules/notifications" as Notifications
import "root:/modules/session" as Session
import "root:/modules/launcher" as Launcher
import "root:/modules/dashboard" as Dashboard
+import "root:/modules/bar/popouts" as BarPopouts
import QtQuick.Shapes
Shape {
@@ -51,4 +52,11 @@ Shape {
startX: (root.width - wrapper.width) / 2
startY: 0
}
+
+ BarPopouts.Background {
+ wrapper: panels.popouts
+
+ startX: 0
+ startY: wrapper.y
+ }
}
diff --git a/modules/drawers/Interactions.qml b/modules/drawers/Interactions.qml
index cd09140..03c4e5e 100644
--- a/modules/drawers/Interactions.qml
+++ b/modules/drawers/Interactions.qml
@@ -37,6 +37,7 @@ MouseArea {
visibilities.osd = false;
osdHovered = false;
visibilities.dashboard = false;
+ Popouts.hasCurrent = false;
}
}
@@ -58,6 +59,18 @@ MouseArea {
// Show dashboard on hover
const showDashboard = root.inTopPanel(panels.dashboard, x, y);
visibilities.dashboard = showDashboard;
+
+ // Show popouts on hover
+ const popout = panels.popouts;
+ if (x < BorderConfig.thickness + popout.width) {
+ if (x < BorderConfig.thickness)
+ // Handle like part of bar
+ Visibilities.bars[screen].checkPopout(y);
+ else
+ // Keep on hover
+ Popouts.hasCurrent = withinPanelHeight(popout, x, y);
+ } else
+ Popouts.hasCurrent = false;
}
Osd.Interactions {
diff --git a/modules/drawers/Panels.qml b/modules/drawers/Panels.qml
index 5ea7e83..844a719 100644
--- a/modules/drawers/Panels.qml
+++ b/modules/drawers/Panels.qml
@@ -5,6 +5,7 @@ import "root:/modules/notifications" as Notifications
import "root:/modules/session" as Session
import "root:/modules/launcher" as Launcher
import "root:/modules/dashboard" as Dashboard
+import "root:/modules/bar/popouts" as BarPopouts
import Quickshell
import QtQuick
@@ -19,6 +20,7 @@ Item {
readonly property Session.Wrapper session: session
readonly property Launcher.Wrapper launcher: launcher
readonly property Dashboard.Wrapper dashboard: dashboard
+ readonly property BarPopouts.Wrapper popouts: popouts
anchors.fill: parent
anchors.margins: BorderConfig.thickness
@@ -70,4 +72,14 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
}
+
+ BarPopouts.Wrapper {
+ id: popouts
+
+ screen: root.screen
+
+ anchors.left: parent.left
+ anchors.verticalCenter: parent.top
+ anchors.verticalCenterOffset: Popouts.currentCenter - BorderConfig.thickness
+ }
}