From 609f1e9655920cb56e70b0d67c69134355551be5 Mon Sep 17 00:00:00 2001 From: Ly-sec Date: Tue, 23 Sep 2025 00:20:06 +0200 Subject: [PATCH] Bar/: refactor layout --- .../BluetoothPanel/BluetoothDevicesList.qml | 0 .../BluetoothPanel/BluetoothPanel.qml | 0 Modules/{ => Bar}/PowerPanel/PowerPanel.qml | 0 Modules/{ => Bar}/WiFiPanel/WiFiPanel.qml | 0 Modules/Dock/Dock.qml | 8 +++++- shell.qml | 28 +++++++++++++------ 6 files changed, 26 insertions(+), 10 deletions(-) rename Modules/{ => Bar}/BluetoothPanel/BluetoothDevicesList.qml (100%) rename Modules/{ => Bar}/BluetoothPanel/BluetoothPanel.qml (100%) rename Modules/{ => Bar}/PowerPanel/PowerPanel.qml (100%) rename Modules/{ => Bar}/WiFiPanel/WiFiPanel.qml (100%) diff --git a/Modules/BluetoothPanel/BluetoothDevicesList.qml b/Modules/Bar/BluetoothPanel/BluetoothDevicesList.qml similarity index 100% rename from Modules/BluetoothPanel/BluetoothDevicesList.qml rename to Modules/Bar/BluetoothPanel/BluetoothDevicesList.qml diff --git a/Modules/BluetoothPanel/BluetoothPanel.qml b/Modules/Bar/BluetoothPanel/BluetoothPanel.qml similarity index 100% rename from Modules/BluetoothPanel/BluetoothPanel.qml rename to Modules/Bar/BluetoothPanel/BluetoothPanel.qml diff --git a/Modules/PowerPanel/PowerPanel.qml b/Modules/Bar/PowerPanel/PowerPanel.qml similarity index 100% rename from Modules/PowerPanel/PowerPanel.qml rename to Modules/Bar/PowerPanel/PowerPanel.qml diff --git a/Modules/WiFiPanel/WiFiPanel.qml b/Modules/Bar/WiFiPanel/WiFiPanel.qml similarity index 100% rename from Modules/WiFiPanel/WiFiPanel.qml rename to Modules/Bar/WiFiPanel/WiFiPanel.qml diff --git a/Modules/Dock/Dock.qml b/Modules/Dock/Dock.qml index be19085b..f6135c37 100644 --- a/Modules/Dock/Dock.qml +++ b/Modules/Dock/Dock.qml @@ -108,7 +108,7 @@ Variants { if (toplevel && toplevel.appId) { const isPinned = pinnedApps.includes(toplevel.appId) const appType = isPinned ? "pinned-running" : "running" - + combined.push({ "type": appType, "toplevel": toplevel, @@ -461,6 +461,12 @@ Variants { root.currentContextMenu = contextMenu } else if (root.currentContextMenu === contextMenu) { root.currentContextMenu = null + // Reset menu hover state when menu becomes invisible + menuHovered = false + // Restart hide timer if conditions are met + if (autoHide && !dockHovered && !anyAppHovered && !peekHovered) { + hideTimer.restart() + } } } } diff --git a/shell.qml b/shell.qml index 22f4f521..86ca9acc 100644 --- a/shell.qml +++ b/shell.qml @@ -7,30 +7,40 @@ */ // Disable reload popup add this as a new row: //pragma Env QS_NO_RELOAD_POPUP=1 + +// Qt & Quickshell Core import QtQuick import Quickshell import Quickshell.Io import Quickshell.Services.Pipewire import Quickshell.Widgets + +// Commons & Services import qs.Commons -import qs.Modules.Launcher +import qs.Services +import qs.Widgets + +// Core Modules import qs.Modules.Background -import qs.Modules.Bar -import qs.Modules.Bar.Extras -import qs.Modules.BluetoothPanel -import qs.Modules.Calendar import qs.Modules.Dock import qs.Modules.IPC import qs.Modules.LockScreen + +// Bar & Bar Components +import qs.Modules.Bar +import qs.Modules.Bar.Extras +import qs.Modules.Bar.BluetoothPanel +import qs.Modules.Bar.PowerPanel +import qs.Modules.Bar.WiFiPanel + +// Panels & UI Components +import qs.Modules.Calendar +import qs.Modules.Launcher import qs.Modules.Notification import qs.Modules.SettingsPanel -import qs.Modules.PowerPanel import qs.Modules.SidePanel import qs.Modules.Toast -import qs.Modules.WiFiPanel import qs.Modules.WallpaperSelector -import qs.Services -import qs.Widgets ShellRoot { id: shellRoot