Skip to content

SDDM and Lock Screen Setup

This page describes how to configure the SDDM display manager, adjust the Sugar Candy theme https://github.com/Kangie/sddm-sugar-candy?tab=readme-ov-file, and set wallpapers for both SDDM and the KDE lock screen.

Note: I didn't create this theme, I just configured it to suit my needs.


Licenses

Sugar Candy: GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007.

Wallhaven: All images remain property of their original owners.


Used wallpapers

Note: I am not the owner of those wallpapers. I only use them for personal use.

Below are the backgrounds used in this configuration:


Install required packages

SDDM Sugar Candy requires additional Qt modules:

sudo pacman -S qt5-graphicaleffects
sudo pacman -S qt5-quickcontrols2

Changing the SDDM background

Copy your custom background image into the Sugar Candy theme directory:

mv background.jpg /usr/share/sddm/themes/sugar-candy/Backgrounds

Then edit the theme configuration file:

sudo vim /usr/share/sddm/themes/sugar-candy/theme.conf

Adjusting login form size (Sugar Candy)

To modify the width of the login form, edit Main.qml

sudo vim /usr/share/sddm/themes/sugar-candy/Main.qml

inside the theme:

LoginForm {
    ...
    width: parent.width / 3
    ...
}

This makes the login box narrower and visually cleaner (for my actual background)


Configure KDE lock screen wallpaper

To change the lock screen background in KDE Plasma:

  1. Open Settings
  2. Go to Screen Locking
  3. Click Configure Appearance
  4. Click Add…
  5. Select your wallpaper
  6. Click Apply

My actual theme.conf

[General]
Background="Backgrounds/sddm_background.png"
DimBackgroundImage="0.0"
ScaleImageCropped="true"
ScreenWidth="1920"
ScreenHeight="1080"


## [Blur Settings]
FullBlur="false"
PartialBlur="true"
BlurRadius="15"


## [Design Customizations]
HaveFormBackground="false"
FormPosition="left"
BackgroundImageHAlignment="center"
BackgroundImageVAlignment="center"
MainColor="white"
AccentColor="#043ab3"
BackgroundColor="#444"
OverrideLoginButtonTextColor=""
InterfaceShadowSize="6"
InterfaceShadowOpacity="0.6"
RoundCorners="20"
ScreenPadding="0"
Font="Noto Sans"
FontSize=""


## [Interface Behavior]
ForceRightToLeft="false"
ForceLastUser="true"
ForcePasswordFocus="true"
ForceHideCompletePassword="false"
ForceHideVirtualKeyboardButton="false"
ForceHideSystemButtons="false"
AllowEmptyPassword="false"
AllowBadUsernames="false"


## [Locale Settings]
Locale=""
HourFormat="HH:mm"
DateFormat="dddd, d of MMMM"


## [Translations]
HeaderText="Welcome!"
TranslatePlaceholderUsername=""
TranslatePlaceholderPassword=""
TranslateShowPassword=""
TranslateLogin=""
TranslateLoginFailedWarning=""
TranslateCapslockWarning=""
TranslateSession=""
TranslateSuspend=""
TranslateHibernate=""
TranslateReboot=""
TranslateShutdown=""
TranslateVirtualKeyboardButton=""