diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-17 15:02:34 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-17 15:02:34 +0200 |
| commit | 7854a6809f1414aa3818b8c8627f46b7370194c5 (patch) | |
| tree | 4d6ca6099cca5f7896285573724b0dc5a497b2ad | |
| parent | 5a6a4d13f173cb3a7a22ea7a189a5ef21b4dd929 (diff) | |
| download | sddm-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.md | 2 | ||||
| -rw-r--r-- | docs/superpowers/specs/2026-09-17-sddm-theme-udt-panel-design.md | 2 | ||||
| -rw-r--r-- | theme/Main.qml | 2 | ||||
| -rw-r--r-- | theme/components/Backdrop.qml | 3 | ||||
| -rw-r--r-- | theme/components/Credentials.qml | 48 | ||||
| -rw-r--r-- | theme/components/Panel.qml | 10 | ||||
| -rw-r--r-- | theme/icons/chevron-left.svg | 3 | ||||
| -rw-r--r-- | theme/icons/chevron-right.svg | 3 | ||||
| -rw-r--r-- | theme/theme.conf | 6 |
9 files changed, 56 insertions, 23 deletions
@@ -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. |
