From 468bab5e5b4a5336cee24f124f58b17ef532bedb Mon Sep 17 00:00:00 2001 From: M Matthew Hydock Date: Fri, 29 Aug 2025 23:08:36 -0400 Subject: 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. --- README.md | 3 ++- config/LauncherConfig.qml | 1 + modules/drawers/Interactions.qml | 6 ++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ad47b54..e853a92 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/config/LauncherConfig.qml b/config/LauncherConfig.qml index fa5b7a5..d021089 100644 --- a/config/LauncherConfig.qml +++ b/config/LauncherConfig.qml @@ -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: "@" diff --git a/modules/drawers/Interactions.qml b/modules/drawers/Interactions.qml index 0b3b17d..fcaa790 100644 --- a/modules/drawers/Interactions.qml +++ b/modules/drawers/Interactions.qml @@ -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; -- cgit v1.2.3-freya