From e8bb4f24832b6d486ccc514914c3854dc677589c Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Sun, 19 Apr 2026 08:56:44 +0200 Subject: [PATCH] Use theme colors for the convergence dock The dock background was a hardcoded dark fill because upstream icon labels are white (for floating over wallpaper). Switching to Theme.backgroundColor alone just made labels vanish on light themes, so it kept getting reverted. Fix the whole stack at once: background uses the Window color set, hover highlights derive from Theme.textColor instead of white, and delegate labels switch to Theme.textColor in convergence mode (still white over wallpaper on mobile). --- containments/homescreens/folio/qml/FavouritesBar.qml | 12 ++++++------ .../folio/qml/delegate/AbstractDelegate.qml | 4 ++-- containments/homescreens/folio/qml/main.qml | 4 +++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/containments/homescreens/folio/qml/FavouritesBar.qml b/containments/homescreens/folio/qml/FavouritesBar.qml index 08294918..ec5df0d5 100644 --- a/containments/homescreens/folio/qml/FavouritesBar.qml +++ b/containments/homescreens/folio/qml/FavouritesBar.qml @@ -130,8 +130,8 @@ MouseArea { anchors.bottom: parent.bottom width: root.navButtonWidth color: homeMouseArea.containsPress - ? Qt.rgba(1, 1, 1, 0.2) - : (homeMouseArea.containsMouse ? Qt.rgba(1, 1, 1, 0.1) : "transparent") + ? Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.2) + : (homeMouseArea.containsMouse ? Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.1) : "transparent") radius: Kirigami.Units.cornerRadius Kirigami.Icon { @@ -160,8 +160,8 @@ MouseArea { anchors.bottom: parent.bottom width: root.navButtonWidth color: overviewMouseArea.containsPress - ? Qt.rgba(1, 1, 1, 0.2) - : (overviewMouseArea.containsMouse ? Qt.rgba(1, 1, 1, 0.1) : "transparent") + ? Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.2) + : (overviewMouseArea.containsMouse ? Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.1) : "transparent") radius: Kirigami.Units.cornerRadius Kirigami.Icon { @@ -854,8 +854,8 @@ MouseArea { anchors.fill: parent radius: Kirigami.Units.cornerRadius color: taskMouseArea.containsPress - ? Qt.rgba(1.0, 1.0, 1.0, 0.2) - : (taskMouseArea.containsMouse ? Qt.rgba(1.0, 1.0, 1.0, 0.1) : "transparent") + ? Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.2) + : (taskMouseArea.containsMouse ? Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.1) : "transparent") } // Task icon diff --git a/containments/homescreens/folio/qml/delegate/AbstractDelegate.qml b/containments/homescreens/folio/qml/delegate/AbstractDelegate.qml index cd15cb4f..b9417182 100644 --- a/containments/homescreens/folio/qml/delegate/AbstractDelegate.qml +++ b/containments/homescreens/folio/qml/delegate/AbstractDelegate.qml @@ -126,7 +126,7 @@ Folio.DelegateTouchArea { Rectangle { anchors.fill: parent radius: Kirigami.Units.cornerRadius - color: Qt.rgba(1.0, 1.0, 1.0, 0.1) + color: Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.1) visible: ShellSettings.Settings.convergenceModeEnabled && root.hovered } } @@ -142,7 +142,7 @@ Folio.DelegateTouchArea { Layout.rightMargin: -parent.anchors.rightMargin + Kirigami.Units.smallSpacing text: root.name - color: "white" + color: ShellSettings.Settings.convergenceModeEnabled ? Kirigami.Theme.textColor : "white" } } } diff --git a/containments/homescreens/folio/qml/main.qml b/containments/homescreens/folio/qml/main.qml index 7f7ca89c..f667410a 100644 --- a/containments/homescreens/folio/qml/main.qml +++ b/containments/homescreens/folio/qml/main.qml @@ -263,7 +263,9 @@ ContainmentItem { Rectangle { anchors.fill: parent - color: Qt.rgba(0, 0, 0, 0.5) + Kirigami.Theme.inherit: false + Kirigami.Theme.colorSet: Kirigami.Theme.Window + color: Kirigami.Theme.backgroundColor transform: Translate { y: dockOverlay.dockOffset } }