{"id":13434706,"url":"https://github.com/prikhi/lightdm-mini-greeter","last_synced_at":"2025-04-07T16:12:34.829Z","repository":{"id":44007504,"uuid":"29670221","full_name":"prikhi/lightdm-mini-greeter","owner":"prikhi","description":"A Minimal, Configurable, Single-User GTK3 LightDM Greeter","archived":false,"fork":false,"pushed_at":"2024-10-09T07:50:44.000Z","size":358,"stargazers_count":555,"open_issues_count":21,"forks_count":48,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-31T15:08:50.369Z","etag":null,"topics":["c","configurable","display-manager","greeter","gtk3","lightdm","lightdm-greeter","minimal"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prikhi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-22T09:02:57.000Z","updated_at":"2025-03-25T11:00:10.000Z","dependencies_parsed_at":"2024-10-24T16:44:45.551Z","dependency_job_id":"51bacd84-70b8-41b5-8e35-51f503414438","html_url":"https://github.com/prikhi/lightdm-mini-greeter","commit_stats":{"total_commits":170,"total_committers":16,"mean_commits":10.625,"dds":0.3764705882352941,"last_synced_commit":"ead7936993b4e9e067d73fa49dec7edfb46c73a8"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Flightdm-mini-greeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Flightdm-mini-greeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Flightdm-mini-greeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Flightdm-mini-greeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prikhi","download_url":"https://codeload.github.com/prikhi/lightdm-mini-greeter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247685627,"owners_count":20979085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","configurable","display-manager","greeter","gtk3","lightdm","lightdm-greeter","minimal"],"created_at":"2024-07-31T03:00:21.005Z","updated_at":"2025-04-07T16:12:34.797Z","avatar_url":"https://github.com/prikhi.png","language":"C","funding_links":[],"categories":["GUI","C"],"sub_categories":["Display Manager"],"readme":"# Mini-Greeter\n\n[![AUR package](https://repology.org/badge/version-for-repo/aur/lightdm-mini-greeter.svg)](https://aur.archlinux.org/packages/lightdm-mini-greeter) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/a1c58074072542be8ea60d1bf14863fc)](https://www.codacy.com/gh/prikhi/lightdm-mini-greeter/dashboard)\n\nA minimal but highly configurable single-user GTK3 greeter for LightDM.\n\nInspired by the SLiM Display Manager \u0026 LightDM GTK3 Greeter.\n\n\n## Goals\n\nEventually this is will present a more customizable interface:\n\n* Randomized Background Wallpapers\n* Configurable language/session info? (lightdm provides this already?)\n* Handle GdkDisplay's `monitor-added` \u0026 `monitor-removed` signals\n\n[Open Feature Requests](http://bugs.sleepanarchy.com/projects/mini-greeter/issues/)\n\n\n## Current Status\n\nRight now you can:\n\n* log in\n* hide the `Password:` label \u0026 customize the text\n* hide the password input's cursor\n* show the user, hostname, \u0026 current time\n* set the password masking character\n* set the size of the login window, the font, \u0026 every color\n* set \u0026 scale a background image\n* use modifiable hotkeys to cycle through sessions or trigger a shutdown,\n  restart, hibernate, or suspend\n\n![A screen with a dark background and a single password input box in the center](https://raw.githubusercontent.com/prikhi/lightdm-mini-greeter/refs/heads/master/screenshot.png \"Mini Greeter Screenshot\")\n\n\n## Install\n\n### Arch Linux\n\nInstall the [lightdm-mini-greeter package][aur-package] from the Arch User\nRepository:\n\n```sh\nyay -S lightdm-mini-greeter\n```\n\n### Gentoo Linux\n\nEmerge the [lightdm-mini-greeter package][gentoo-package]:\n\n```sh\nemerge x11-misc/lightdm-mini-greeter\n```\n\n### NixOS\n\nEnable \u0026 configure the greeter \u0026 default session in your `configuration.nix`:\n\n```nix\n{\n    services.xserver = {\n        enable = true;\n        displayManager.lightdm.greeters.mini = {\n            enable = true;\n            user = \"your-username\";\n            extraConfig = ''\n                [greeter]\n                show-password-label = false\n                [greeter-theme]\n                background-image = \"\"\n            '';\n        };\n        # Optionally, set a default session\n        windowManager = {\n            default = \"awesome\";\n            awesome.enable = true;\n        };\n    };\n}\n```\n\nThen rebuild \u0026 switch your configuration with `nixos-rebuild switch`.\n\n### Debian\n\nDebian packages for the latest `stable` branch are available on the\n[Releases][releases] page.\n\nYou can use `debhelper` to build the package yourself:\n\n```sh\nsudo apt-get install build-essential automake pkg-config fakeroot debhelper \\\n    liblightdm-gobject-dev libgtk-3-dev\ncd lightdm-mini-greeter\nfakeroot dh binary\nsudo dpkg -i ../lightdm-mini-greeter_*.deb\n```\n\nNote: on Ubuntu, you need `liblightdm-gobject-1-dev` instead of\n`liblightdm-gobject-dev`.\n\n### Manual\n\nYou will need `automake`, `pkg-config`, `gtk+`, \u0026 `liblightdm-gobject` to build\nthe project.\n\nGrab the source, build the greeter, \u0026 install it manually:\n\n```sh\n./autogen.sh\n./configure --datadir /usr/share --bindir /usr/bin --sysconfdir /etc\nmake\nsudo make install\n```\n\nRun `sudo make uninstall` to remove the greeter.\n\n\n## Configure\n\nOnce installed, you should specify `lightdm-mini-greeter` as your\n`greeter-session` in `/etc/lightdm/lightdm.conf`. If you have multiple Desktop\nEnvironments or Window Managers installed, you can specify the default\nselection by changing the `user-session` option as well(look in\n`/usr/share/xsessions` for possible values).\n\nModify `/etc/lightdm/lightdm-mini-greeter.conf` to customize the greeter. At\nthe very least, you will need to set the `user`. All other settings are\noptional \u0026 can be commented out or removed.\n\nYou can test it out using LightDM's `test-mode`:\n\n    lightdm --test-mode -d\n\nOr with `dm-tool`:\n\n    dm-tool add-nested-seat\n\nNote: If you've added a `background-image` it will appear in this preview, but\nit may not appear during normal use if the file is not in directory which\nlightdm has permission to read(like `/etc/lightdm/`). A symlink into this\nlocation won't work.\n\n### Keyboard layout\n\nIf your keyboard layout is loaded from your shell configuration files (`.bashrc`\nfor example) then it might not be possible to type certain characters after\ninstalling lightdm-mini-greeter. You should consider modifying your\n[Xorg keyboard configuration](https://wiki.archlinux.org/index.php/Xorg/Keyboard_configuration#Using_X_configuration_files).\n\nFor example for a french keyboard layout (azerty) you should edit/create\n`/etc/X11/xorg.conf.d/00-keyboard.conf` with at least the following options:\n\n```\nSection \"InputClass\"\n        Identifier \"system-keyboard\"\n        MatchIsKeyboard \"on\"\n        Option \"XkbModel\" \"pc104\"\n        Option \"XkbLayout\" \"fr\"\nEndSection\n```\n\n### Config file in $HOME\n\nYou may wish to include your config file in their your home folder/dotfiles so\nit is version controlled \u0026 easily transferable between systems. This is\npossible, but on most systems, LightDM will not be able to read the\nconfiguration file due to permission errors.\n\nThe proper way to handle this is to loosen the permissions on your home\ndirectory a bit.\n\nStart off by adding the `lightdm` user to your user's group:\n\n    sudo usermod -aG $(whoami) lightdm\n\nAllow your user group to read your home directory:\n\n    chmod g+rx ~\n\nMove the mini-greeter config file:\n\n    sudo mv /etc/lightdm/lightdm-mini-greeter.conf ~/.dotfiles/mini-greeter.conf\n\nAnd then add a symlink pointing to the file in your home directory:\n\n    sudo ln -s ~/.dotfiles/mini-greeter.conf /etc/lightdm/lightdm-mini-greeter.conf\n\nAnd finally log out \u0026 restart LightDM:\n\n    sudo systemctl restart lightdm\n\nIf LightDM fails to start back up, check the greeter's log file(usually at\n`/var/log/lightdm/seat0-greeter.log`) for the following line:\n\n    Could not load configuration file: Permission denied\n\nIf present, your permissions need further adjustment. You can test your\npermissions by attempting to read the file with `sudo`:\n\n    sudo -u lightdm cat ~/.dotfiles/mini-greeter.conf\n\n\n## Contribute\n\nYou can submit feature requests, bug reports, pull requests or patches on\neither [github](http://github.com/prikhi/lightdm-mini-greeter) or\n[redmine](http://bugs.sleepanarchy.com/projects/mini-greeter/).\n\nIf you like Mini-Greeter, please consider packaging it for your distribution.\n\n\n### Style\n\n* Use indentation and braces, 4 spaces - no tabs, no trailing whitespace.\n* Declare pointers like this: `char *p1, *p2;`, avoid: `char* p1;`.\n* Function braces should be on their own line.\n* If/else/while/do should always use braces and indentation.\n* Use `g_critical` for irrecoverable user errors, `g_error` for programming\n  errors.\n\nWhen in doubt, check surrounding code.\n\n\n## License\n\nGPL-3\n\n\n[aur-package]: https://aur.archlinux.org/packages/lightdm-mini-greeter/\n[gentoo-package]: https://packages.gentoo.org/packages/x11-misc/lightdm-mini-greeter\n[releases]: https://github.com/prikhi/lightdm-mini-greeter/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprikhi%2Flightdm-mini-greeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprikhi%2Flightdm-mini-greeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprikhi%2Flightdm-mini-greeter/lists"}