A minimal but highly configurable single-user GTK3 greeter for LightDM.
Inspired by the SLiM Display Manager & LightDM GTK3 Greeter.
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
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.
Install the lightdm-mini-greeter package from the Arch User Repository:
packer -S lightdm-mini-greeter
Emerge the lightdm-mini-greeter package:
emerge x11-misc/lightdm-mini-greeter
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 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
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.
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.
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.
- 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.
GPL-3