d42700a313
To facilitate that, sprinkle a bunch of QStringLiteral() around string literals and QLatin1Char() around char literals. In some places, I used QLatin1String() instead of QStringLiteral() when the expression is used as an argument to a function that has a QLatin1String overload (this is advised by the Qt docs). I also replaced empty strings like QString x = ""; QString x { "" }; funcWithQStringArg(""); funcWithQStringArg(QString("")); by the QString() default constructor, which yields an empty string more efficiently: QString x; funcWithQStringArg(QString()); QString::fromLocal8Bit() was used whenever strings were read from C libraries (e.g. PAM). For SDDM's own configuration files, I used QString::fromUtf8(), under the assumption that most text editors today default to UTF-8. In some places, I also used the chance to optimize single-char string literals to char literals, e.g. str << list.join(","); //before str << list.join(QLatin1Char(',')); //after Testing done: It compiles and the ConfigurationTest passes. I don't have a test setup for actually running a compiled SDDM, so if someone could check that I didn't break anything, that would be highly appreciated. Closes: #469 |
||
---|---|---|
cmake | ||
components | ||
data | ||
docs | ||
services | ||
src | ||
test | ||
.commit-template | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
ChangeLog | ||
CMakeLists.txt | ||
CONTRIBUTORS | ||
COPYING | ||
COPYING-CC-BY-3.0 | ||
COPYING-CC-BY-SA-3.0 | ||
INSTALL | ||
README.md |
INTRODUCTION
SDDM is a modern display manager for X11 and Wayland aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces.
SDDM is extremely themeable. We put no restrictions on the user interface design, it is completely up to the designer. We simply provide a few callbacks to the user interface which can be used for authentication, suspend etc.
To further ease theme creation we provide some premade components like a textbox, a combox etc.
There are a few sample themes distributed with SDDM. They can be used as a starting point for new themes.
LICENSING
Source code of SDDM is licensed under GNU GPL version 2 or later (at your opinion).
QML files are MIT licensed and images are CC BY 3.0.
Most of the files include a license header.
RESOURCES
https://github.com/sddm/sddm/issues
https://github.com/sddm/sddm/wiki
https://groups.google.com/group/sddm-devel
sddm on irc.freenode.net
SCREENSHOTS
VIDEOS
INSTALLATION
Qt >= 5.3.0 is required to use SDDM, although Qt >= 5.4.0 is recommended.
SDDM runs the greeter as a system user named "sddm" whose home directory needs
to be set to /var/lib/sddm
.
If pam and systemd are available, the greeter will go through logind which will give it access to drm devices.
Distributions without pam and systemd will need to put the "sddm" user into the "video" group, otherwise errors regarding GL and drm devices might be experienced.
TROUBLESHOOTING
NVIDIA Prime
Add this at the bottom of the Xsetup script:
if [ -e /sbin/prime-offload ]; then
echo running NVIDIA Prime setup /sbin/prime-offload, you will need to manually run /sbin/prime-switch to shut down
/sbin/prime-offload
fi
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