launcher: allow show on hover (#498)

added `showOnHover` to launcher config, disabled by default to preserve
existing functionality. when enabled, drag-to-show is disabled.
This commit is contained in:
M Matthew Hydock 2025-08-29 23:08:36 -04:00 committed by GitHub
parent d69a400f9f
commit 468bab5e5b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 3 deletions

View file

@ -383,7 +383,8 @@ The module automatically adds Caelestia shell to the path with **full functional
"schemes": false,
"variants": false,
"wallpapers": false
}
},
"showOnHover": false
},
"lock": {
"recolourLogo": false

View file

@ -2,6 +2,7 @@ import Quickshell.Io
JsonObject {
property bool enabled: true
property bool showOnHover: false
property int maxShown: 8
property int maxWallpapers: 9 // Warning: even numbers look bad
property string specialPrefix: "@"

View file

@ -121,8 +121,10 @@ CustomMouseArea {
visibilities.session = false;
}
// Show/hide launcher on drag
if (pressed && inBottomPanel(panels.launcher, dragStart.x, dragStart.y) && withinPanelWidth(panels.launcher, x, y)) {
// Show launcher on hover, or show/hide on drag if hover is disabled
if (Config.launcher.showOnHover) {
visibilities.launcher = inBottomPanel(panels.launcher, x, y);
} else if (pressed && inBottomPanel(panels.launcher, dragStart.x, dragStart.y) && withinPanelWidth(panels.launcher, x, y)) {
const dragY = y - dragStart.y;
if (dragY < -Config.launcher.dragThreshold)
visibilities.launcher = true;