aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-17 14:57:41 +0200
committerDanilo M. <danix@danix.xyz>2026-09-17 14:57:41 +0200
commit5a6a4d13f173cb3a7a22ea7a189a5ef21b4dd929 (patch)
tree755742801741cb34ac7931513860ee88f8367c85
parente89b6eb1eda0f412935e3e0cf6c53c84f00a483d (diff)
downloadsddm-theme-udt-5a6a4d13f173cb3a7a22ea7a189a5ef21b4dd929.tar.gz
sddm-theme-udt-5a6a4d13f173cb3a7a22ea7a189a5ef21b4dd929.zip
fix: native-colour theme icons and palette-correct selector
Draw a resolved icon-theme icon in the colours the theme ships; only the bundled fallback line art stays tinted to the palette. The session ComboBox read the system palette for text, background and the indicator, so its label was near-invisible and the double arrow came out an unrelated colour. Set buttonText/button/window/dark and the placeholder colour on the selector and the credential fields.
-rw-r--r--README.md5
-rw-r--r--docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md3
-rw-r--r--theme/components/Credentials.qml2
-rw-r--r--theme/components/Panel.qml6
-rw-r--r--theme/components/PowerBar.qml7
5 files changed, 20 insertions, 3 deletions
diff --git a/README.md b/README.md
index 968d8e0..237bdbd 100644
--- a/README.md
+++ b/README.md
@@ -33,8 +33,9 @@ reveal the password; confirm again to log in. Esc or the back chevron returns
to the username.
Power icons come from the icon theme the appearance drawer selected. `udt-accent`
-resolves them and writes absolute paths into the generated `theme.conf.user`;
-when a theme has no match, the bundled `theme/icons/*.svg` draw instead.
+resolves them and writes absolute paths into the generated `theme.conf.user`, and
+they keep the colours the theme ships; when a theme has no match, the bundled
+`theme/icons/*.svg` draw, tinted to the palette.
## Install
diff --git a/docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md b/docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md
index 3a87677..0ed7c2c 100644
--- a/docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md
+++ b/docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md
@@ -171,6 +171,9 @@ Icons are drawn as a flat silhouette through the existing `MultiEffect`
colorization (`subtext0`, `accent` on hover), so the theme icon contributes its
shape; the UDT palette still supplies the colour.
+Revised after implementation: a resolved theme icon is drawn in the colours the
+theme ships, and only the bundled fallback line art is tinted to the palette.
+
## Files touched
This repository:
diff --git a/theme/components/Credentials.qml b/theme/components/Credentials.qml
index 2bfbaf5..ba5323c 100644
--- a/theme/components/Credentials.qml
+++ b/theme/components/Credentials.qml
@@ -128,6 +128,7 @@ Item {
color: config.stringValue("text")
palette.base: config.stringValue("surface0")
palette.text: config.stringValue("text")
+ palette.placeholderText: config.stringValue("overlay0")
palette.highlight: config.stringValue("accent")
palette.highlightedText: config.stringValue("base")
background: Rectangle {
@@ -157,6 +158,7 @@ Item {
color: config.stringValue("text")
palette.base: config.stringValue("surface0")
palette.text: config.stringValue("text")
+ palette.placeholderText: config.stringValue("overlay0")
palette.highlight: config.stringValue("accent")
palette.highlightedText: config.stringValue("base")
background: Rectangle {
diff --git a/theme/components/Panel.qml b/theme/components/Panel.qml
index eac2c58..5cefd35 100644
--- a/theme/components/Panel.qml
+++ b/theme/components/Panel.qml
@@ -218,6 +218,12 @@ Item {
font.family: "Noto Sans"
palette.base: config.stringValue("surface0")
palette.text: config.stringValue("text")
+ palette.button: config.stringValue("surface0")
+ palette.buttonText: config.stringValue("text")
+ palette.window: config.stringValue("surface0")
+ palette.placeholderText: config.stringValue("overlay0")
+ palette.mid: config.stringValue("overlay1")
+ palette.dark: config.stringValue("subtext0")
palette.highlight: config.stringValue("accent")
palette.highlightedText: config.stringValue("base")
background: Rectangle {
diff --git a/theme/components/PowerBar.qml b/theme/components/PowerBar.qml
index 3d6b2c5..88bdee6 100644
--- a/theme/components/PowerBar.qml
+++ b/theme/components/PowerBar.qml
@@ -32,6 +32,11 @@ Row {
height: 56
opacity: modelData.enabled ? 1 : 0.35
+ // A resolved icon-theme path is drawn exactly as the theme ships
+ // it. Only the bundled line art is tinted to the palette.
+ readonly property bool themed:
+ modelData.icon !== "" && String(icon.source) === modelData.icon
+
Rectangle {
anchors.fill: parent
radius: 10
@@ -57,7 +62,7 @@ Row {
MultiEffect {
anchors.fill: icon
source: icon
- colorization: 1.0
+ colorization: themed ? 0.0 : 1.0
colorizationColor: mouse.containsMouse && modelData.enabled
? config.stringValue("accent")
: config.stringValue("subtext0")