Camel is a QML based login manager. Camel is written in C++ and uses some of the C++11 features. It has only a few dependencies and is desktop environment agnostic. To compile it you will need the Clang compiler (version 3.3 or above) and the libc++ library, which are both part of the LLVM project (http://llvm.org). You may also be able to compile it using later versions of the GCC and the libstdc++ library. (I had trouble with gcc 4.7.3, as it does not fully support C++11.) UPDATE: Due to missing move semantics for streams in libstdc++, you will not be able to use gcc to compile this program (until at least gcc 5). See bug #53626: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53626 (If anyone figures out recipe for (gcc) - (libstdc++) + (libc++) + (Qt), please feel free to drop me an email.) Camel additionally requires the following packages: X.Org X server Qt (including QtDeclarative) PAM For installation instructions, please refer to the INSTALL file. Camel always runs in foreground and exits after successful login/logout cycle. It is meant to be used in conjunction with a service manager (eg, OpenRC, systemd, upstart, etc.) and the service manager should restart it upon exit. Camel supports the following options: camel [-h|--help] or camel [:n] [<config-file>] where: -h | --help shows available options :n overrides X server display name (default: :0) <config-file> specifies config file to use (default: /etc/camel.conf) Camel comes with a few basic themes. You can use any of them (or the minimal theme) as a starting point to create your own. You are only limited by what QML can do. Have fun! /////////////////////////////////////////////////////////////////////////////// Copyright (c) 2014 Dimitry Ishenko Distributed under the GNU GPL v2. For full terms please visit: http://www.gnu.org/licenses/gpl.html Contact: dimitry (dot) ishenko (at) (gee) mail (dot) com