/lightdm-mini-greeter

A Minimal, Configurable, Single-User GTK3 LightDM Greeter

Primary LanguageCGNU General Public License v3.0GPL-3.0

Mini-Greeter

AUR package Codacy Badge

A minimal but highly configurable single-user GTK3 greeter for LightDM.

Inspired by the SLiM Display Manager & LightDM GTK3 Greeter.

Goals

Eventually this is will present a more customizable interface:

  • Randomized Background Wallpapers
  • Configurable language/session info? (lightdm provides this already?)
  • Hotkey to cycle between DE/WM sessions
  • Handle GdkDisplay's monitor-added & monitor-removed signals

Open Feature Requests

Current Status

Right now you can:

  • log in
  • hide the Password: label & customize the text
  • hide the password input's cursor
  • set the size of the login window, the font & every color.
  • set a background image.
  • use modifiable hotkeys to trigger a shutdown, restart, hibernate or suspend.

A screen with a dark background and a single password input box in the center

Install

Arch Linux

Install the lightdm-mini-greeter package from the Arch User Repository:

packer -S lightdm-mini-greeter

Gentoo Linux

Emerge the lightdm-mini-greeter package:

emerge x11-misc/lightdm-mini-greeter

NixOS

Enable & configure the greeter & default session in your configuration.nix:

{
    services.xserver = {
        enable = true;
        displayManager.lightdm.greeters.mini = {
            enable = true;
            user = "your-username";
            extraConfig = ''
                [greeter]
                show-password-label = false
                [greeter-theme]
                background-image = ""
            '';
        };
        windowManager = {
            default = "awesome";
            awesome.enable = true;
        };
    };
}

Then rebuild & switch your configuration with nixos-rebuild switch.

Debian

Debian packages for the latest stable branch are available on the Releases page.

You can use debhelper to build the package yourself:

sudo apt-get install build-essential automake pkg-config fakeroot debhelper \
    liblightdm-gobject-dev libgtk-3-dev
cd lightdm-mini-greeter
fakeroot dh binary
sudo dpkg -i ../lightdm-mini-greeter_*.deb

Manual

You will need automake, pkg-config, gtk+, & liblightdm-gobject to build the project.

Grab the source, build the greeter, & install it manually:

./autogen.sh
./configure --datadir /usr/share --bindir /usr/bin --sysconfdir /etc
make
sudo make install

Run sudo make uninstall to remove the greeter.

Configure

Once installed, you should specify lightdm-mini-greeter as your greeter-session in /etc/lightdm/lightdm.conf. If you have multiple Desktop Environments or Window Managers installed, you can specify the one to start by changing the user-session option as well(look in /usr/share/xsession for possible values).

Modify /etc/lightdm/lightdm-mini-greeter.conf to customize the greeter. At the very least, you will need to set the user.

You can test it out using LightDM's test-mode:

lightdm --test-mode -d

Or with dm-tool:

dm-tool add-nested-seat

Note: If you've added a background-image it will appear in this preview, but it may not appear during normal use if the file is not in directory which lightdm has permission to read(like /etc/lightdm/). A symlink into this location won't work.

Contribute

You can submit feature requests, bug reports, pull requests or patches on either github or redmine.

If you like Mini-Greeter, please consider packaging it for your distribution.

Style

  • Use indentation and braces, 4 spaces - no tabs, no trailing whitespace.
  • Declare pointers like this: char *p1, *p2;, avoid: char* p1;.
  • Function braces should be on their own line.
  • If/else/while/do should always use braces and indentation.
  • Use g_critical for irrecoverable user errors, g_error for programming errors.

When in doubt, check surrounding code.

License

GPL-3