summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Zepner <noah@zepner.dev>2025-08-07 04:32:37 +0200
committerGitHub <noreply@github.com>2025-08-07 12:32:37 +1000
commit5bcface15ad17cd352fb4c9b5b76ac6d6c7feb4d (patch)
tree171ef021e58b03044f7657d148736c26c7df932b
parentcontrolcenter/bt: better styling (diff)
downloadcaelestia-shell-5bcface15ad17cd352fb4c9b5b76ac6d6c7feb4d.tar.gz
caelestia-shell-5bcface15ad17cd352fb4c9b5b76ac6d6c7feb4d.tar.bz2
caelestia-shell-5bcface15ad17cd352fb4c9b5b76ac6d6c7feb4d.zip
dashboard: showOnHover config option (#361)
* dashboard: showOnHover config option * dashboard: close on lose focus when !showOnHover Also update readme --------- Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
-rw-r--r--README.md3
-rw-r--r--config/DashboardConfig.qml1
-rw-r--r--modules/dashboard/Wrapper.qml7
-rw-r--r--modules/drawers/Interactions.qml2
4 files changed, 12 insertions, 1 deletions
diff --git a/README.md b/README.md
index fed74e8..5b43125 100644
--- a/README.md
+++ b/README.md
@@ -188,7 +188,10 @@ All configuration options are in `~/.config/caelestia/shell.json`.
"thickness": 10
},
"dashboard": {
+ "enabled": true,
+ "dragThreshold": 50,
"mediaUpdateInterval": 500,
+ "showOnHover": true,
"visualiserBars": 45
},
"launcher": {
diff --git a/config/DashboardConfig.qml b/config/DashboardConfig.qml
index b6388e5..26d2442 100644
--- a/config/DashboardConfig.qml
+++ b/config/DashboardConfig.qml
@@ -2,6 +2,7 @@ import Quickshell.Io
JsonObject {
property bool enabled: true
+ property bool showOnHover: true
property int mediaUpdateInterval: 500
property int visualiserBars: 45
property int dragThreshold: 50
diff --git a/modules/dashboard/Wrapper.qml b/modules/dashboard/Wrapper.qml
index 9863e01..1a547c9 100644
--- a/modules/dashboard/Wrapper.qml
+++ b/modules/dashboard/Wrapper.qml
@@ -4,6 +4,7 @@ import qs.components.filedialog
import qs.config
import qs.utils
import Quickshell
+import Quickshell.Hyprland
import QtQuick
Item {
@@ -64,6 +65,12 @@ Item {
}
]
+ HyprlandFocusGrab {
+ active: !Config.dashboard.showOnHover && root.visibilities.dashboard && Config.dashboard.enabled
+ windows: [QsWindow.window]
+ onCleared: root.visibilities.dashboard = false
+ }
+
Loader {
id: content
diff --git a/modules/drawers/Interactions.qml b/modules/drawers/Interactions.qml
index 7b18adf..1cd1736 100644
--- a/modules/drawers/Interactions.qml
+++ b/modules/drawers/Interactions.qml
@@ -120,7 +120,7 @@ MouseArea {
}
// Show dashboard on hover
- const showDashboard = inTopPanel(panels.dashboard, x, y);
+ const showDashboard = Config.dashboard.showOnHover && inTopPanel(panels.dashboard, x, y);
// Always update visibility based on hover if not in shortcut mode
if (!dashboardShortcutActive) {