diff options
| -rw-r--r-- | theme/Main.qml | 15 | ||||
| -rw-r--r-- | theme/theme.conf | 3 |
2 files changed, 12 insertions, 6 deletions
diff --git a/theme/Main.qml b/theme/Main.qml index 05f0aec..5512b3e 100644 --- a/theme/Main.qml +++ b/theme/Main.qml @@ -3,9 +3,9 @@ // // UDT SDDM greeter. SDDM creates one window per screen, each sized to its own // screen and carrying a one-row ScreenModel, so this root item is exactly one -// screen. The wallpaper fills it; the login panel draws only on the screen -// named by config uiScreen, else on the primary screen. Input wakes the panel -// after it fades. +// screen. Its own wallpaper, else the shared one, fills it; the login panel +// draws only on the screen named by config uiScreen, else on the primary +// screen. Input wakes the panel after it fades. import QtQuick import "components" @@ -22,10 +22,13 @@ Item { // Palette. Values come from theme.conf, overridden live by theme.conf.user. readonly property string baseColor: config.stringValue("base") + // This screen's own wallpaper (background_<screen name>, written by + // udt-accent from wallp's state) when set, else the shared background. + readonly property string wallpaperPath: + config.stringValue("background_" + thisScreenName) + || config.stringValue("background") readonly property string wallpaperUrl: - config.stringValue("background") === "" - ? "" - : "file://" + config.stringValue("background") + wallpaperPath === "" ? "" : "file://" + wallpaperPath // The screen the panel belongs on: config uiScreen if non-empty, else the // primary screen. `primaryScreen` is a per-window context property SDDM diff --git a/theme/theme.conf b/theme/theme.conf index 24c647c..06e3af8 100644 --- a/theme/theme.conf +++ b/theme/theme.conf @@ -5,6 +5,9 @@ [General] type=image background= +# Per-screen wallpapers override background on the screen they name, e.g. +# background_DP-1=/path/wide.jpg. udt-accent writes these into theme.conf.user +# from wallp's outputs and saved wallpapers. base=#24273a mantle=#1e2030 |
