aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-17 15:02:34 +0200
committerDanilo M. <danix@danix.xyz>2026-09-17 15:02:34 +0200
commit7854a6809f1414aa3818b8c8627f46b7370194c5 (patch)
tree4d6ca6099cca5f7896285573724b0dc5a497b2ad
parent5a6a4d13f173cb3a7a22ea7a189a5ef21b4dd929 (diff)
downloadsddm-theme-udt-7854a6809f1414aa3818b8c8627f46b7370194c5.tar.gz
sddm-theme-udt-7854a6809f1414aa3818b8c8627f46b7370194c5.zip
feat: narrower panel, bigger clock and avatar, icon buttons, stronger blur
Default panelWidth drops to 0.20, the clock grows to 76px and the avatar to 128px, the confirm and back controls draw chevron icons instead of text arrows, and the panel backdrop blurs harder (blur 1.0, blurMax 72).
-rw-r--r--README.md2
-rw-r--r--docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md2
-rw-r--r--theme/Main.qml2
-rw-r--r--theme/components/Backdrop.qml3
-rw-r--r--theme/components/Credentials.qml48
-rw-r--r--theme/components/Panel.qml10
-rw-r--r--theme/icons/chevron-left.svg3
-rw-r--r--theme/icons/chevron-right.svg3
-rw-r--r--theme/theme.conf6
9 files changed, 56 insertions, 23 deletions
diff --git a/README.md b/README.md
index 237bdbd..c04b273 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ generated `theme.conf.user`, which is overwritten on every wallpaper change.
## Panel
The greeter draws a full-height panel on the left edge, `panelWidth` of the
-screen wide (0.30 by default), frosted over the wallpaper with square corners.
+screen wide (0.20 by default), frosted over the wallpaper with square corners.
From top to bottom it shows the clock (`timeFormat`) and date (`dateFormat`),
the `greeting`, the avatar, one credential slot, the power row, and the session
selector at the bottom.
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 0ed7c2c..685b6be 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
@@ -173,6 +173,8 @@ 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.
+Further revised: `panelWidth` defaults to 0.20, the clock and avatar are larger,
+the confirm and back controls use chevron icons, and the panel blur is stronger.
## Files touched
diff --git a/theme/Main.qml b/theme/Main.qml
index 0a7ce3d..05f0aec 100644
--- a/theme/Main.qml
+++ b/theme/Main.qml
@@ -107,7 +107,7 @@ Item {
// key is missing or malformed.
readonly property real panelWidth: {
var v = parseFloat(config.stringValue("panelWidth"))
- return v > 0 ? Math.min(v, 1) : 0.30
+ return v > 0 ? Math.min(v, 1) : 0.20
}
Panel {
diff --git a/theme/components/Backdrop.qml b/theme/components/Backdrop.qml
index de39bc2..f21443b 100644
--- a/theme/components/Backdrop.qml
+++ b/theme/components/Backdrop.qml
@@ -39,7 +39,8 @@ Item {
source: snapshot
visible: backdrop.sourceItem !== null && backdrop.blurEnabled
blurEnabled: true
- blur: 0.8
+ blur: 1.0
+ blurMax: 72
maskEnabled: true
maskSource: mask
}
diff --git a/theme/components/Credentials.qml b/theme/components/Credentials.qml
index ba5323c..f565474 100644
--- a/theme/components/Credentials.qml
+++ b/theme/components/Credentials.qml
@@ -7,6 +7,7 @@
import QtQuick
import QtQuick.Controls.Basic
+import QtQuick.Effects
Item {
id: creds
@@ -65,12 +66,24 @@ Item {
opacity: backMouse.containsMouse ? 1 : 0
}
- Text {
+ Image {
+ id: backIcon
anchors.centerIn: parent
- text: "\u2190"
- color: config.stringValue("subtext0")
- font.family: "Noto Sans"
- font.pixelSize: 22
+ width: 22
+ height: 22
+ source: "../icons/chevron-left.svg"
+ sourceSize.width: width
+ sourceSize.height: height
+ visible: false
+ }
+
+ MultiEffect {
+ anchors.fill: backIcon
+ source: backIcon
+ colorization: 1.0
+ colorizationColor: backMouse.containsMouse
+ ? config.stringValue("accent")
+ : config.stringValue("subtext0")
}
MouseArea {
@@ -95,13 +108,24 @@ Item {
radius: 6
color: config.stringValue("accent")
}
- contentItem: Text {
- text: "\u2192"
- color: config.stringValue("base")
- font.family: "Noto Sans"
- font.pixelSize: 22
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
+ contentItem: Item {
+ Image {
+ id: confirmIcon
+ anchors.centerIn: parent
+ width: 22
+ height: 22
+ source: "../icons/chevron-right.svg"
+ sourceSize.width: width
+ sourceSize.height: height
+ visible: false
+ }
+
+ MultiEffect {
+ anchors.fill: confirmIcon
+ source: confirmIcon
+ colorization: 1.0
+ colorizationColor: config.stringValue("base")
+ }
}
onClicked: creds.confirm()
}
diff --git a/theme/components/Panel.qml b/theme/components/Panel.qml
index 5cefd35..7f1880e 100644
--- a/theme/components/Panel.qml
+++ b/theme/components/Panel.qml
@@ -104,7 +104,7 @@ Item {
text: Qt.formatDateTime(panel.now, panel.timeFormat)
color: panel.textColor
font.family: "Noto Sans"
- font.pixelSize: 56
+ font.pixelSize: 76
font.weight: Font.Light
}
@@ -114,7 +114,7 @@ Item {
text: Qt.formatDateTime(panel.now, panel.dateFormat)
color: panel.subtextColor
font.family: "Noto Sans"
- font.pixelSize: 18
+ font.pixelSize: 20
}
Text {
@@ -128,8 +128,8 @@ Item {
}
Item {
- width: 96
- height: 96
+ width: 128
+ height: 128
anchors.horizontalCenter: parent.horizontalCenter
Rectangle {
@@ -142,7 +142,7 @@ Item {
text: panel.initials
color: panel.textColor
font.family: "Noto Sans"
- font.pixelSize: 34
+ font.pixelSize: 46
}
}
diff --git a/theme/icons/chevron-left.svg b/theme/icons/chevron-left.svg
new file mode 100644
index 0000000..b9d42db
--- /dev/null
+++ b/theme/icons/chevron-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
+ <path d="M15 5l-7 7 7 7"/>
+</svg>
diff --git a/theme/icons/chevron-right.svg b/theme/icons/chevron-right.svg
new file mode 100644
index 0000000..0634602
--- /dev/null
+++ b/theme/icons/chevron-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
+ <path d="M9 5l7 7-7 7"/>
+</svg>
diff --git a/theme/theme.conf b/theme/theme.conf
index 33e6bd3..0388c34 100644
--- a/theme/theme.conf
+++ b/theme/theme.conf
@@ -34,9 +34,9 @@ uiScreen=
fadeoutMs=60000
blur=true
-# Left panel width, as a fraction of the greeter window. 0.30 is roughly a
-# third of the screen.
-panelWidth=0.30
+# Left panel width, as a fraction of the greeter window. 0.20 is roughly a
+# fifth of the screen.
+panelWidth=0.20
# Clock and greeting. Qt date/time format strings. The date follows the
# greeter's locale, which may be C.