feat: get sessions from /usr/local/share/{x,wayland-}sessions (#99)

Co-authored-by: javalsai <jvssxxi@gmail.com>
This commit is contained in:
Martin Bogdanov
2026-01-19 21:35:44 +02:00
committed by GitHub
parent 728611aa19
commit d65bd7a8ee
2 changed files with 18 additions and 10 deletions

View File

@@ -22,10 +22,12 @@ make \
The list of possible `#define`s is: The list of possible `#define`s is:
| Name | Default | Description | Env Override? | | Name | Default | Description | Env Override? |
| ---------------------- | ------------------------------- | -------------------------------------------------------------------------- | ------------------------ | | -------------------------- | ------------------------------------- | -------------------------------------------------------------------------- | ------------------------ |
| `PAM_SERVICE_FALLBACK` | `"login"` | Name of the default PAM module to use. Defaults to the distro's `"login"`. | Yes (`LIDM_PAM_SERVICE`) | | `PAM_SERVICE_FALLBACK` | `"login"` | Name of the default PAM module to use. Defaults to the distro's `"login"`. | Yes (`LIDM_PAM_SERVICE`) |
| `SESSIONS_XSESSIONS` | `"/usr/share/xsessions"` | | No | | `SESSIONS_XSESSIONS` | `"/usr/share/xsessions"` | | No |
| `SESSIONS_XSESSIONS_LOCAL` | `"/usr/local/share/xsessions"` | | No |
| `SESSIONS_WAYLAND` | `"/usr/share/wayland-sessions"` | | No | | `SESSIONS_WAYLAND` | `"/usr/share/wayland-sessions"` | | No |
| `SESSIONS_WAYLAND_LOCAL` | `"/usr/local/share/wayland-sessions"` | | No |
| `LIDM_CONF_PATH` | `"/etc/lidm.ini"` | Path of the default configuration. | Yes (`LIDM_CONF`) | | `LIDM_CONF_PATH` | `"/etc/lidm.ini"` | Path of the default configuration. | Yes (`LIDM_CONF`) |
# Other Build Settings # Other Build Settings

View File

@@ -20,13 +20,19 @@ struct source_dir {
#ifndef SESSIONS_XSESSIONS #ifndef SESSIONS_XSESSIONS
#define SESSIONS_XSESSIONS "/usr/share/xsessions" #define SESSIONS_XSESSIONS "/usr/share/xsessions"
#endif #endif
#ifndef SESSIONS_XSESSIONS_LOCAL
#define SESSIONS_XSESSIONS_LOCAL "/usr/local/share/xsessions"
#endif
#ifndef SESSIONS_WAYLAND #ifndef SESSIONS_WAYLAND
#define SESSIONS_WAYLAND "/usr/share/wayland-sessions" #define SESSIONS_WAYLAND "/usr/share/wayland-sessions"
#endif #endif
static const struct source_dir SOURCES[] = { #ifndef SESSIONS_WAYLAND_LOCAL
{XORG, SESSIONS_XSESSIONS}, #define SESSIONS_WAYLAND_LOCAL "/usr/local/share/wayland-sessions"
#endif
static const struct source_dir SOURCES[] = {{XORG, SESSIONS_XSESSIONS},
{XORG, SESSIONS_XSESSIONS_LOCAL},
{WAYLAND, SESSIONS_WAYLAND}, {WAYLAND, SESSIONS_WAYLAND},
}; {WAYLAND, SESSIONS_WAYLAND_LOCAL}};
static struct Vector* cb_sessions = NULL; static struct Vector* cb_sessions = NULL;