diff --git a/Bar/Bar.qml b/Bar/Bar.qml index 986bacc..5db9a94 100644 --- a/Bar/Bar.qml +++ b/Bar/Bar.qml @@ -4,7 +4,7 @@ import QtQuick.Layouts import Quickshell import Quickshell.Io import Quickshell.Wayland -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import qs.Bar.Modules import qs.Settings import qs.Services diff --git a/Bar/Modules/Media.qml b/Bar/Modules/Media.qml index ca30cd6..f51142d 100644 --- a/Bar/Modules/Media.qml +++ b/Bar/Modules/Media.qml @@ -1,7 +1,7 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import qs.Settings import qs.Services import qs.Components @@ -63,8 +63,8 @@ Item { // Rounded corners using layer layer.enabled: true - layer.effect: OpacityMask { - cached: true + layer.effect: MultiEffect { + maskEnabled: true maskSource: Rectangle { width: albumArt.width height: albumArt.height diff --git a/Bar/Modules/SystemTray.qml b/Bar/Modules/SystemTray.qml index fe2ceee..685e967 100644 --- a/Bar/Modules/SystemTray.qml +++ b/Bar/Modules/SystemTray.qml @@ -2,7 +2,7 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls import Quickshell -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import Quickshell.Services.SystemTray import Quickshell.Widgets import qs.Settings @@ -14,10 +14,10 @@ Row { property var trayMenu spacing: 8 Layout.alignment: Qt.AlignVCenter - + property bool containsMouse: false property var systemTray: SystemTray - + Repeater { model: systemTray.items delegate: Item { @@ -26,7 +26,7 @@ Row { // Hide Spotify icon, or adjust to your liking visible: modelData && modelData.id !== "spotify" property bool isHovered: trayMouseArea.containsMouse - + // Hover scale animation scale: isHovered ? 1.15 : 1.0 Behavior on scale { @@ -35,7 +35,7 @@ Row { easing.type: Easing.OutCubic } } - + // Subtle rotation on hover rotation: isHovered ? 5 : 0 Behavior on rotation { @@ -44,7 +44,7 @@ Row { easing.type: Easing.OutCubic } } - + Rectangle { anchors.centerIn: parent width: 16 @@ -63,7 +63,8 @@ Row { backer.fillMode: Image.PreserveAspectFit source: { let icon = modelData?.icon || ""; - if (!icon) return ""; + if (!icon) + return ""; // Process icon path if (icon.includes("?path=")) { const [name, path] = icon.split("?path="); @@ -80,61 +81,60 @@ Row { easing.type: Easing.OutCubic } } - Component.onCompleted: { - - } + Component.onCompleted: {} } } - + MouseArea { id: trayMouseArea anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton - onClicked: (mouse) => { - if (!modelData) return; - + onClicked: mouse => { + if (!modelData) + return; + if (mouse.button === Qt.LeftButton) { // Close any open menu first if (trayMenu && trayMenu.visible) { - trayMenu.hideMenu() + trayMenu.hideMenu(); } - + if (!modelData.onlyMenu) { - modelData.activate() + modelData.activate(); } } else if (mouse.button === Qt.MiddleButton) { // Close any open menu first if (trayMenu && trayMenu.visible) { - trayMenu.hideMenu() + trayMenu.hideMenu(); } - - modelData.secondaryActivate && modelData.secondaryActivate() + + modelData.secondaryActivate && modelData.secondaryActivate(); } else if (mouse.button === Qt.RightButton) { - trayTooltip.tooltipVisible = false - console.log("Right click on", modelData.id, "hasMenu:", modelData.hasMenu, "menu:", modelData.menu) + trayTooltip.tooltipVisible = false; + console.log("Right click on", modelData.id, "hasMenu:", modelData.hasMenu, "menu:", modelData.menu); // If menu is already visible, close it if (trayMenu && trayMenu.visible) { - trayMenu.hideMenu() - return + trayMenu.hideMenu(); + return; } - + if (modelData.hasMenu && modelData.menu && trayMenu) { // Anchor the menu to the tray icon item (parent) and position it below the icon const menuX = (width / 2) - (trayMenu.width / 2); const menuY = height + 20; trayMenu.menu = modelData.menu; trayMenu.showAt(parent, menuX, menuY); - } else { - // console.log("No menu available for", modelData.id, "or trayMenu not set") - } + } else + // console.log("No menu available for", modelData.id, "or trayMenu not set") + {} } } onEntered: trayTooltip.tooltipVisible = true onExited: trayTooltip.tooltipVisible = false } - + StyledTooltip { id: trayTooltip text: modelData.tooltipTitle || modelData.name || modelData.id || "Tray Item" @@ -143,10 +143,10 @@ Row { targetItem: trayIcon delay: 200 } - - Component.onDestruction: { - // No cache cleanup needed - } + + Component.onDestruction: + // No cache cleanup needed + {} } } -} \ No newline at end of file +} diff --git a/Bar/Modules/Workspace.qml b/Bar/Modules/Workspace.qml index 40a4023..a658a6a 100644 --- a/Bar/Modules/Workspace.qml +++ b/Bar/Modules/Workspace.qml @@ -2,7 +2,7 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts import QtQuick.Window -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import Quickshell import Quickshell.Io import qs.Settings @@ -124,13 +124,13 @@ Item { border.color: Qt.rgba(Theme.textPrimary.r, Theme.textPrimary.g, Theme.textPrimary.b, 0.1) border.width: 1 layer.enabled: true - layer.effect: DropShadow { - color: "black" - radius: 12 - samples: 24 - verticalOffset: 0 - horizontalOffset: 0 - opacity: 0.10 + layer.effect: MultiEffect { + shadowColor: "black" + // radius: 12 + + shadowVerticalOffset: 0 + shadowHorizontalOffset: 0 + shadowOpacity: 0.10 } } diff --git a/Widgets/LockScreen/LockScreen.qml b/Widgets/LockScreen/LockScreen.qml index 1097c29..379ce67 100644 --- a/Widgets/LockScreen/LockScreen.qml +++ b/Widgets/LockScreen/LockScreen.qml @@ -2,7 +2,7 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls import QtQuick.Effects -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import Quickshell.Wayland import Quickshell import Quickshell.Services.Pam @@ -146,6 +146,7 @@ WlSessionLock { blurEnabled: true blur: 0.48 // controls blur strength (0 to 1) blurMax: 128 // max blur radius in pixels + // transparentBorder: true } ColumnLayout { @@ -169,8 +170,9 @@ WlSessionLock { visible: false asynchronous: true } - OpacityMask { + MultiEffect { anchors.fill: avatarImage + maskEnabled: true source: avatarImage maskSource: Rectangle { width: avatarImage.width @@ -189,10 +191,11 @@ WlSessionLock { visible: Settings.settings.profileImage === "" } layer.enabled: true - layer.effect: Glow { - color: Theme.accentPrimary - radius: 8 - samples: 16 + layer.effect: MultiEffect { + shadowEnabled: true + shadowColor: Theme.accentPrimary + // radius: 8 + // samples: 16 } } diff --git a/Widgets/Overview.qml b/Widgets/Overview.qml index c23b79f..790cbb7 100644 --- a/Widgets/Overview.qml +++ b/Widgets/Overview.qml @@ -2,7 +2,6 @@ import QtQuick import QtQuick.Effects import Quickshell import Quickshell.Wayland -import Qt5Compat.GraphicalEffects import qs.Services import qs.Settings @@ -53,4 +52,4 @@ ShellRoot { } } } -} \ No newline at end of file +} diff --git a/Widgets/Sidebar/Config/ProfileSettings.qml b/Widgets/Sidebar/Config/ProfileSettings.qml index eac4e30..00bf26e 100644 --- a/Widgets/Sidebar/Config/ProfileSettings.qml +++ b/Widgets/Sidebar/Config/ProfileSettings.qml @@ -1,7 +1,7 @@ import QtQuick import QtQuick.Layouts +import QtQuick.Effects import QtQuick.Controls -import Qt5Compat.GraphicalEffects import qs.Settings Rectangle { @@ -74,7 +74,8 @@ Rectangle { sourceSize.height: 64 } - OpacityMask { + MultiEffect { + maskEnabled: true anchors.fill: avatarImage source: avatarImage maskSource: Rectangle { @@ -662,4 +663,4 @@ Rectangle { } } } -} \ No newline at end of file +} diff --git a/Widgets/Sidebar/Panel/Music.qml b/Widgets/Sidebar/Panel/Music.qml index 553f3b3..299fa22 100644 --- a/Widgets/Sidebar/Panel/Music.qml +++ b/Widgets/Sidebar/Panel/Music.qml @@ -1,7 +1,7 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import qs.Settings import qs.Components import qs.Services @@ -102,8 +102,8 @@ Rectangle { // Rounded corners using layer layer.enabled: true - layer.effect: OpacityMask { - cached: true + layer.effect: MultiEffect { + maskEnabled: true maskSource: Rectangle { width: albumArt.width height: albumArt.height @@ -318,4 +318,4 @@ Rectangle { } } } -} \ No newline at end of file +} diff --git a/Widgets/Sidebar/Panel/QuickAccess.qml b/Widgets/Sidebar/Panel/QuickAccess.qml index 93975f1..e8ba245 100644 --- a/Widgets/Sidebar/Panel/QuickAccess.qml +++ b/Widgets/Sidebar/Panel/QuickAccess.qml @@ -1,7 +1,7 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import Quickshell import Quickshell.Io import qs.Settings diff --git a/Widgets/Sidebar/Panel/System.qml b/Widgets/Sidebar/Panel/System.qml index 2d8b96a..a4aeea4 100644 --- a/Widgets/Sidebar/Panel/System.qml +++ b/Widgets/Sidebar/Panel/System.qml @@ -1,7 +1,7 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls -import Qt5Compat.GraphicalEffects +import QtQuick.Effects import Quickshell import Quickshell.Io import qs.Settings @@ -51,7 +51,8 @@ Rectangle { z: 2 } - OpacityMask { + MultiEffect { + maskEnabled:true anchors.fill: parent source: Image { id: avatarImage