From d01194d1fcc4f4eedb49b320613634e7a46722bf Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 3 May 2025 15:05:39 +1000 Subject: feat: use multieffect instead of qt5compat Also use loader for tray icon recolouring --- modules/bar/components/TrayItem.qml | 29 ++++++++++++++-------- .../bar/components/workspaces/ActiveIndicator.qml | 7 ++++-- modules/bar/components/workspaces/Workspaces.qml | 1 + 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/modules/bar/components/TrayItem.qml b/modules/bar/components/TrayItem.qml index 1d418dc..b7ffdec 100644 --- a/modules/bar/components/TrayItem.qml +++ b/modules/bar/components/TrayItem.qml @@ -1,9 +1,11 @@ +pragma ComponentBehavior: Bound + import "root:/config" import Quickshell import Quickshell.Widgets import Quickshell.Services.SystemTray import QtQuick -import Qt5Compat.GraphicalEffects +import QtQuick.Effects MouseArea { id: root @@ -46,17 +48,22 @@ MouseArea { anchors.fill: parent } - ColorOverlay { - visible: BarConfig.tray.recolourIcons + Loader { anchors.fill: icon - source: icon - color: root.colour - - Behavior on color { - ColorAnimation { - duration: Appearance.anim.durations.normal - easing.type: Easing.BezierSpline - easing.bezierCurve: Appearance.anim.curves.standard + active: BarConfig.tray.recolourIcons + asynchronous: true + + sourceComponent: MultiEffect { + source: icon + colorizationColor: root.colour + colorization: 1 + + Behavior on colorizationColor { + ColorAnimation { + duration: Appearance.anim.durations.normal + easing.type: Easing.BezierSpline + easing.bezierCurve: Appearance.anim.curves.standard + } } } } diff --git a/modules/bar/components/workspaces/ActiveIndicator.qml b/modules/bar/components/workspaces/ActiveIndicator.qml index 54f10fa..196b9e5 100644 --- a/modules/bar/components/workspaces/ActiveIndicator.qml +++ b/modules/bar/components/workspaces/ActiveIndicator.qml @@ -2,7 +2,7 @@ import "root:/widgets" import "root:/services" import "root:/config" import QtQuick -import Qt5Compat.GraphicalEffects +import QtQuick.Effects Rectangle { id: root @@ -44,9 +44,12 @@ Rectangle { } } - OpacityMask { + MultiEffect { source: base maskSource: root.mask + maskEnabled: true + maskSpreadAtMin: 1 + maskThresholdMin: 0.4 x: root.vertical ? 0 : -parent.offset y: root.vertical ? -parent.offset : 0 diff --git a/modules/bar/components/workspaces/Workspaces.qml b/modules/bar/components/workspaces/Workspaces.qml index 0d9817a..a5ae316 100644 --- a/modules/bar/components/workspaces/Workspaces.qml +++ b/modules/bar/components/workspaces/Workspaces.qml @@ -25,6 +25,7 @@ Item { id: layout spacing: 0 + layer.enabled: true Repeater { model: BarConfig.workspaces.shown -- cgit v1.2.3-freya