diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-17 14:57:41 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-17 14:57:41 +0200 |
| commit | 5a6a4d13f173cb3a7a22ea7a189a5ef21b4dd929 (patch) | |
| tree | 755742801741cb34ac7931513860ee88f8367c85 | |
| parent | e89b6eb1eda0f412935e3e0cf6c53c84f00a483d (diff) | |
| download | sddm-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.md | 5 | ||||
| -rw-r--r-- | docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md | 3 | ||||
| -rw-r--r-- | theme/components/Credentials.qml | 2 | ||||
| -rw-r--r-- | theme/components/Panel.qml | 6 | ||||
| -rw-r--r-- | theme/components/PowerBar.qml | 7 |
5 files changed, 20 insertions, 3 deletions
@@ -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") |
