Rokin05 fc88ddd01c | ||
---|---|---|
.github | ||
releases | ||
src | ||
LICENSE |
.github/README.md
SDDM Themes
Dynamics and highly customizable themes build from scratch for SDDM display manager with QtQuick 2 (Qt 5.7 >=).
They are compatible with and without KDE Plasma and not depend of KDE Framework.
Features
- Pure cross platform Qt-Quick 2.7+.
- Multiples layouts 🖼️ (minimized, icon, tiny, half, fullscreen).
- Menu is dynamic and can be moved between the different positions with the mouse.
- Menu support left and right screen sides (mirrored).
- Userlist page with avatars.
- Login page via typing username.
- Session dropdown menu. (KDE Plasma, Gnome, Lxde...).
- Keyboard layout dropdown menu (English, French, Spanish...).
- Password textfield has a clean and a reveal button.
- Username textfield has a clean button.
- Keyboard navigation.
- Compatible with Qt Virtual Keyboard.
- Qt Virtual Keyboard is movable.
- Compatible with KDE Plasma battery widget.
- Support multilingual (with the default SDDM component).
- Support multi-screen: Theme can be enable on all screen or only on the primary screen.
- Screensaver.
- Clock / Date.
- The background / wallpaper support picture and color.
- Wallpaper Blur effect (on/off & intensity).
- System buttons are configurable (ex: enable-disable suspend, reboot, shutdown.. buttons).
- Extremely configurable without need to edit .qml files (see: Configuration and customisation).
- Compatible with KDE Plasma config interface (background change with sddm-kcm).
Tested on :
- Debian Stretch (stable 9.8) LiveCD - Qt 5.7 (Gnome desktop + sddm install).
- Ubuntu 18.04 (Bionic Beaver) LiveCD - Qt 5.9 (Gnome desktop + sddm install).
- Kubuntu 18.10 (Cosmic) LiveCD - Qt 5.11 (KDE Plasma desktop).
- Kubuntu 19.04 (Disco Dingo) LiveCD - Qt 5.12 (KDE Plasma desktop).
- OpenSUSE Tumbleweed LiveCD - Qt 5.12 (KDE Plasma desktop).
- Arch Linux - Qt 5.12 (KDE Plasma desktop).
Themes and installations
● KDE Plasma :
Themes are directly downloadable and installable with the System Settings :
System Settings › Startup and Shutdown › Login Screen (SDDM) › Get New Theme
To access this setting the sddm-kcm
package has to be installed. If in doubt use your package manager to search and if necessary install sddm-kcm first.
The background can be changed to anything you want on the right hand side in System Settings › Startup and Shutdown › Login Screen (SDDM)
Select the large green button next to Background:
Tips : KDE Plasma 5 provides a command line to directly access to SDDM system settings :
kcmshell5 kcm_sddm
.
● Others environments / manual install :
Download the tar archive from openDesktop and extract the content to the theme directory of SDDM.
Example (with "sober" theme) :
sudo tar -xzvf ~/Downloads/sddm-sober.tar.gz -C /usr/share/sddm/themes
This will extract all the files to a new folder "sober" inside of the themes directory of SDDM.
After that you will have to point SDDM to the new theme by editing its config files :
vi /etc/sddm.conf.d/sddm.conf
In the [Theme]
section set Current=sober
. For a more detailed description please refer to the Arch wiki on sddm. Note that, depending on your system setup, a duplicate configuration may exist in /etc/sddm.conf
. Usually this takes preference so you want to set the above line in this file if you have it.
Themes availables :
Name | Screenshots | Git (path) | OpenDesktop (tar.gz) | Aur |
---|---|---|---|---|
Adapta | 🖼️ | 🔗 | 📥 | ❌ |
Arc | 🖼️ | 🔗 | 📥 | ❌ |
Goodnight | 🖼️ | 🔗 | 📥 | ❌ |
Mount | 🖼️ | 🔗 | 📥 | ❌ |
Sober | 🖼️ | 🔗 | 📥 | ❌ |
Zune | 🖼️ | 🔗 | 📥 | ❌ |
Dependencies :
On KDE Plasma desktop, you normally have nothing more to install, but if one dependency is not present on other environments here are those used :
● Debian / Ubuntu :
# On Ubuntu, universe repo maybe necessary :
# add-apt-repository universe
apt-get update
apt-get install qml-module-qtquick-layouts qml-module-qtquick-controls2 qml-module-qtquick-templates2 qml-module-qtgraphicaleffects
● Arch :
pacman -S qt5-quickcontrols2 qt5-graphicaleffects qt5-svg
Configuration and customisation
All themes are extremely customizable by editing its included theme.conf file.
You can easy choose the default interface view, show or hide buttons (shutdown, reboot, suspend, switch user...), move elements positions...
The full style can be modified with the config file only :
- Modify Screensaver timer.
- Enable or not the theme only on the primary display screen.
- Select round or rectangle user icons.
- Modify sizes, borders, colors and opacity of each elements (menu, background, textbox, buttons, combobox..).
- Modify texts format, fonts and colors.
- The differents "status" of each elements is supported : normal, hover, pressed, focus.
- All colors can use alpha value "#AARRGGBB".
- Shadows.
- ...
Tips : You can testing (Previewing) an SDDM theme if needed without logging out with :
sddm-greeter --test-mode --theme /usr/share/sddm/themes/THEMENAME
Troubleshooting
● Debian Stretch
Themes works on Debian Stretch but i have take the choice to put QtQuick version 2.8 in files because they use "GraphicsInfo" for checking if shadows can be rendered (like official KDE Breeze theme).
In QtQuick version 2.7 this options don't exist and generate log warning for that. For be able to use themes on Debian Stretch, you must change QtQuick version 2.8 name to QtQuick version 2.7 on files with this command on the root theme directory (only once time) :
find -type f -name "*.qml" -exec sed -i "s/QtQuick 2.8/QtQuick 2.7/" "{}" +;
● No User Icon
SDDM reads user icon from either ~/.face.icon
or FacesDir/username.face.icon
You need to make sure that SDDM user have permissions to read those files. In case you don't want to allow other users to access your $HOME you can use ACLs if your filesystem does support it.
setfacl -m u:sddm:x /home/username
setfacl -m u:sddm:r /home/username/.face.icon
If the first solution does not seem to work, you can place the user icon at the default SDDM location :
folder path : /usr/share/sddm/faces
icon format : USERNAME.face.icon
● My Keyboard layouts are not visibles in the selectbox
There is a "cosmetic" bug with sddm who use xcb API to list the keymaps :
On the initial loading, the keyboard layout dropdown menu shows "English (US)" only (your true keyboard layout is selected but this may be visual wrong).
As soon as any key is pressed then XCB_XKB_NEW_KEYBOARD_NOTIFY event will be issued and then it will return correct layout.
This "bug" is Independent of the theme but for better "deal with that", i have update the theme code and the selected keyboard layout real name is now automatic returned after a first key is pressed which was not the case before.
Licence
Source code of is licensed under GNU GPL version 3.
QML files are MIT licensed and images are CC BY 3.0.
Credits
- KDE Plasma - icons (Breeze).
- Arc themes - icons (PapirusDevelopmentTeam).
- Adapta themes - icons and wallpaper (PapirusDevelopmentTeam).
- Readme Illustrations : undraw.co.
Donate
The development, the publication and the different tests are done in my free time,
If you like my project, you can send a coffee at :