mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-12 00:32:17 -04:00
fix: VpnPopout and Vpn widget tooltip positions (#1623)
* fix(vpn-widget): correct tooltip positioning for bottom bar alignment - Calculate tooltip Y position based on bar edge (bottom vs top) - Position tooltip above bar when edge is bottom to prevent overflow - Account for tooltip height when positioning on bottom edge - Use proper screen reference for consistent positioning across displays * fix(VpnPopout): use correct screen height for popup sizing - Fix popup height calculation to use the assigned screen property instead of the global Screen object - Prevents incorrect positioning when multiple screens are present - Fallback to Screen.height if screen property is not set * fix(widgets): close DankPopout when screen is removed - Add Connections handler to monitor Quickshell.onScreensChanged - Automatically close popout if its assigned screen no longer exists - Prevent orphaned popouts when displays are disconnected
This commit is contained in:
committed by
GitHub
parent
5b8b7b04be
commit
cc62aa4a9e
@@ -145,6 +145,25 @@ Item {
|
||||
shouldBeVisible ? close() : open();
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: Quickshell
|
||||
function onScreensChanged() {
|
||||
if (!shouldBeVisible || !screen)
|
||||
return;
|
||||
const currentScreenName = screen.name;
|
||||
let screenStillExists = false;
|
||||
for (let i = 0; i < Quickshell.screens.length; i++) {
|
||||
if (Quickshell.screens[i].name === currentScreenName) {
|
||||
screenStillExists = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!screenStillExists) {
|
||||
close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: closeTimer
|
||||
interval: animationDuration
|
||||
|
||||
Reference in New Issue
Block a user