From 1add44ba2fb758abf4f256b230c31c64ca82a1b0 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:37:32 +0200 Subject: [PATCH] dock: show on empty workspace --- .config/quickshell/modules/common/ConfigOptions.qml | 3 ++- .config/quickshell/modules/dock/Dock.qml | 5 ++++- .config/quickshell/modules/dock/DockAppButton.qml | 1 + .config/quickshell/shell.qml | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.config/quickshell/modules/common/ConfigOptions.qml b/.config/quickshell/modules/common/ConfigOptions.qml index 96832c48..ee0522f5 100644 --- a/.config/quickshell/modules/common/ConfigOptions.qml +++ b/.config/quickshell/modules/common/ConfigOptions.qml @@ -52,10 +52,11 @@ Singleton { } property QtObject dock: QtObject { - property bool enable: false + property bool enable: true property real height: 60 property real hoverRegionHeight: 3 property bool pinnedOnStartup: false + property bool hoverToReveal: false // When false, only reveals on empty workspace property list pinnedApps: [ // IDs of pinned entries "org.kde.dolphin", "kitty", diff --git a/.config/quickshell/modules/dock/Dock.qml b/.config/quickshell/modules/dock/Dock.qml index 0e5cc483..69e36778 100644 --- a/.config/quickshell/modules/dock/Dock.qml +++ b/.config/quickshell/modules/dock/Dock.qml @@ -23,7 +23,10 @@ Scope { // Scope id: dockRoot screen: modelData - property bool reveal: root.pinned || dockMouseArea.containsMouse || dockApps.requestDockShow + property bool reveal: root.pinned + || ((ConfigOptions?.dock.hoverToReveal ?? true) && dockMouseArea.containsMouse) + || dockApps.requestDockShow + || (!ToplevelManager.activeToplevel?.activated) anchors { bottom: true diff --git a/.config/quickshell/modules/dock/DockAppButton.qml b/.config/quickshell/modules/dock/DockAppButton.qml index 65e8bf88..7e79ad62 100644 --- a/.config/quickshell/modules/dock/DockAppButton.qml +++ b/.config/quickshell/modules/dock/DockAppButton.qml @@ -20,6 +20,7 @@ DockButton { property real iconSize: 35 property real countDotWidth: 10 property real countDotHeight: 4 + property bool appIsActive: appToplevel.toplevels.find(t => (t.activated == true)) !== undefined MouseArea { id: mouseArea diff --git a/.config/quickshell/shell.qml b/.config/quickshell/shell.qml index bc2cb022..e6e5d566 100644 --- a/.config/quickshell/shell.qml +++ b/.config/quickshell/shell.qml @@ -27,7 +27,7 @@ ShellRoot { // no unnecessary stuff will take up memory if you decide to only use, say, the overview. property bool enableBar: true property bool enableCheatsheet: true - property bool enableDock: false + property bool enableDock: true property bool enableMediaControls: true property bool enableNotificationPopup: true property bool enableOnScreenDisplayBrightness: true @@ -51,7 +51,7 @@ ShellRoot { Loader { active: enableBar; sourceComponent: Bar {} } Loader { active: enableCheatsheet; sourceComponent: Cheatsheet {} } - Loader { active: (enableDock || ConfigOptions?.dock.enable); sourceComponent: Dock {} } + Loader { active: (enableDock && ConfigOptions?.dock.enable); sourceComponent: Dock {} } Loader { active: enableMediaControls; sourceComponent: MediaControls {} } Loader { active: enableNotificationPopup; sourceComponent: NotificationPopup {} } Loader { active: enableOnScreenDisplayBrightness; sourceComponent: OnScreenDisplayBrightness {} }