Go to file
Stefan Majewsky d42700a313 enable QT_NO_CAST_FROM_ASCII
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
2015-08-22 16:17:37 +02:00
cmake Add license to cmake files 2014-11-18 10:04:12 +01:00
components Mirror image buttons with right-to-left languages 2015-08-20 19:08:03 +02:00
data Add Latvian translation 2015-08-22 09:09:11 +02:00
docs Move and update the INSTALL file. 2014-08-02 15:51:01 +01:00
services sddm.service: Comment PrivateTmp for now 2014-07-15 19:07:59 +02:00
src enable QT_NO_CAST_FROM_ASCII 2015-08-22 16:17:37 +02:00
test enable QT_NO_CAST_FROM_ASCII 2015-08-22 16:17:37 +02:00
.commit-template Remove wiki reference from commit template 2014-08-10 01:40:39 +00:00
.gitignore Initial commit. 2013-01-18 00:46:14 +00:00
.mailmap Update mail map 2015-08-21 10:14:26 +02:00
.travis.yml Use gcc 4.8 as C compiler 2015-08-17 18:22:42 +02:00
ChangeLog Update ChangeLog 2015-08-20 21:08:07 +02:00
CMakeLists.txt enable QT_NO_CAST_FROM_ASCII 2015-08-22 16:17:37 +02:00
CONTRIBUTORS Update contributors list 2015-08-21 10:15:58 +02:00
COPYING Initial commit. 2013-01-18 00:46:14 +00:00
COPYING-CC-BY-3.0 Add licenses for CC files 2014-11-18 10:04:54 +01:00
COPYING-CC-BY-SA-3.0 Add licenses for CC files 2014-11-18 10:04:54 +01:00
INSTALL ConsoleKit2 support for system actions 2015-08-20 19:42:57 +02:00
README.md Add info about user icons permissions 2015-08-22 09:10:17 +02:00

INTRODUCTION

IRC Network GitHub release GitHub issues Build Status

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

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

sample screenshot

VIDEOS

Video background

Maui theme 1

Maui theme 2

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