Description
When the user sets a solid colour as desktop background (Picture: None), the login screen with draw-user-backgrounds=true does not show the chosen colour. It shows the old wallpaper (from picture-uri) instead.
Steps
- Cinnamon Settings → Background → Picture: None, pick a colour
- Lock screen or log out
- Login screen shows the old wallpaper, not the solid colour
Root Cause
When the user selects a solid colour, Cinnamon only sets picture-options=none and primary-color, but does not clear or update picture-uri. It still points to the old wallpaper.
Slick-greeters draw-user-backgrounds reads the users background via LightDM → AccountsService BackgroundFile. This file is empty when there is no wallpaper. But LightDM may still fall back to the old picture-uri, so slick-greeter loads and displays the old wallpaper file instead of the chosen solid colour.
BackgroundLoader.load() supports hex colour strings natively. The fix: when picture-options=none, pass primary-color to the background loader instead of picture-uri.
Data
BackgroundFile (AccountsService) = "" (empty)
picture-uri = file:///...jbaer_wave.jpg (old wallpaper, not cleared)
picture-options = none
primary-color = #2626a2a26969
Login screen shows = jbaer_wave.jpg (old wallpaper)
System
Slick-greeter 2.2.6, Cinnamon 6.4.8 (Linux Mint 22.1)
Description
When the user sets a solid colour as desktop background (Picture: None), the login screen with
draw-user-backgrounds=truedoes not show the chosen colour. It shows the old wallpaper (frompicture-uri) instead.Steps
Root Cause
When the user selects a solid colour, Cinnamon only sets
picture-options=noneandprimary-color, but does not clear or updatepicture-uri. It still points to the old wallpaper.Slick-greeters
draw-user-backgroundsreads the users background via LightDM → AccountsServiceBackgroundFile. This file is empty when there is no wallpaper. But LightDM may still fall back to the oldpicture-uri, so slick-greeter loads and displays the old wallpaper file instead of the chosen solid colour.BackgroundLoader.load()supports hex colour strings natively. The fix: whenpicture-options=none, passprimary-colorto the background loader instead ofpicture-uri.Data
System
Slick-greeter 2.2.6, Cinnamon 6.4.8 (Linux Mint 22.1)