diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-23 23:20:37 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-23 23:20:37 +1000 |
| commit | 760f7c2001b84b724ccf4f5a2741bef35ef7bb6c (patch) | |
| tree | 2784ff9c35db52d2f34b317079bf316d616b481c /modules/drawers/Interactions.qml | |
| parent | popouts/network: better rescan loading (diff) | |
| download | caelestia-shell-760f7c2001b84b724ccf4f5a2741bef35ef7bb6c.tar.gz caelestia-shell-760f7c2001b84b724ccf4f5a2741bef35ef7bb6c.tar.bz2 caelestia-shell-760f7c2001b84b724ccf4f5a2741bef35ef7bb6c.zip | |
interactions: fix popouts close on lose hover
Diffstat (limited to 'modules/drawers/Interactions.qml')
| -rw-r--r-- | modules/drawers/Interactions.qml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/drawers/Interactions.qml b/modules/drawers/Interactions.qml index 94d27cc..0b3b17d 100644 --- a/modules/drawers/Interactions.qml +++ b/modules/drawers/Interactions.qml @@ -31,6 +31,10 @@ CustomMouseArea { return x >= panelX - Config.border.rounding && x <= panelX + panel.width + Config.border.rounding; } + function inLeftPanel(panel: Item, x: real, y: real): bool { + return x < bar.implicitWidth + panel.x + panel.width && withinPanelHeight(panel, x, y); + } + function inRightPanel(panel: Item, x: real, y: real): bool { return x > bar.implicitWidth + panel.x && withinPanelHeight(panel, x, y); } @@ -160,6 +164,8 @@ CustomMouseArea { // Show popouts on hover if (x < bar.implicitWidth) bar.checkPopout(y); + else if (!popouts.currentName.startsWith("traymenu") && !inLeftPanel(panels.popouts, x, y)) + popouts.hasCurrent = false; } // Monitor individual visibility changes |