Implement custom session support (fixes #757)

Signed-off-by: AnErrupTion <anerruption@disroot.org>
This commit is contained in:
AnErrupTion
2025-07-08 22:39:14 +02:00
parent 48e5369f56
commit 04920e1b1b
27 changed files with 106 additions and 18 deletions

View File

@@ -100,6 +100,11 @@ colormix_col2 = 0x000000FF
# Color mixing animation third color id
colormix_col3 = 0x20000000
# Custom sessions directory
# You can specify multiple directories,
# e.g. $CONFIG_DIRECTORY/ly/custom-sessions:$PREFIX_DIRECTORY/share/custom-sessions
waylandsessions = $CONFIG_DIRECTORY/share/custom-sessions
# Input box active by default on startup
# Available inputs: info_line, session, login, password
default_input = login
@@ -251,7 +256,7 @@ vi_mode = false
# Wayland desktop environments
# You can specify multiple directories,
# e.g. /usr/share/wayland-sessions:/usr/local/share/wayland-sessions
# e.g. $PREFIX_DIRECTORY/share/wayland-sessions:$PREFIX_DIRECTORY/local/share/wayland-sessions
waylandsessions = $PREFIX_DIRECTORY/share/wayland-sessions
# Xorg server command
@@ -266,5 +271,5 @@ xinitrc = ~/.xinitrc
# Xorg desktop environments
# You can specify multiple directories,
# e.g. /usr/share/xsessions:/usr/local/share/xsessions
# e.g. $PREFIX_DIRECTORY/share/xsessions:$PREFIX_DIRECTORY/local/share/xsessions
xsessions = $PREFIX_DIRECTORY/share/xsessions

View File

@@ -0,0 +1,22 @@
A custom session is just a desktop entry file, like for X11 and Wayland
sessions. For example:
[Desktop Entry]
Name=Fish shell
Exec=$PREFIX_DIRECTORY/bin/fish
DesktopNames=null
Terminal=true
The DesktopNames value is optional and sets the XDG_SESSION_DESKTOP and
XDG_CURRENT_DESKTOP environment variables. If equal to null or if not present,
XDG_SESSION_DESKTOP and XDG_CURRENT_DESKTOP will not be set. Otherwise, the
syntax is the same as described in the Freedesktop Desktop Entry Specification.
The Terminal value specifies if standard output and standard error should be
redirected to the session log file found in Ly's configuration file. If set to
true, Ly will consider the program is going to run in a TTY, and thus will not
redirect standard output & error.
Finally, do note that the XDG_SESSION_TYPE environment variable is set to
"unspecified" (without quotes), which is behavior that at least systemd
recognizes (see pam_systemd's man page)

View File

@@ -2,6 +2,7 @@ authenticating = جاري المصادقة...
brightness_down = خفض السطوع
brightness_up = رفع السطوع
capslock = capslock
err_alloc = فشل في تخصيص الذاكرة
err_bounds = out-of-bounds index
err_brightness_change = فشل في تغيير سطوع الشاشة

View File

@@ -2,6 +2,7 @@ authenticating = autenticant...
brightness_down = abaixar brillantor
brightness_up = apujar brillantor
capslock = Bloq Majús
err_alloc = assignació de memòria fallida
err_bounds = índex fora de límits
err_brightness_change = error en canviar la brillantor

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = alokace paměti selhala
err_bounds = index je mimo hranice pole

View File

@@ -2,6 +2,7 @@ authenticating = authentifizieren...
brightness_down = Helligkeit-
brightness_up = Helligkeit+
capslock = Feststelltaste
err_alloc = Speicherzuweisung fehlgeschlagen
err_bounds = Index ausserhalb des Bereichs
err_brightness_change = Helligkeitsänderung fehlgeschlagen

View File

@@ -2,6 +2,7 @@ authenticating = authenticating...
brightness_down = decrease brightness
brightness_up = increase brightness
capslock = capslock
custom = custom
err_alloc = failed memory allocation
err_bounds = out-of-bounds index
err_brightness_change = failed to change brightness

View File

@@ -2,6 +2,7 @@ authenticating = autenticando...
brightness_down = bajar brillo
brightness_up = subir brillo
capslock = Bloq Mayús
err_alloc = asignación de memoria fallida
err_bounds = índice fuera de límites

View File

@@ -2,6 +2,7 @@ authenticating = authentification...
brightness_down = diminuer la luminosité
brightness_up = augmenter la luminosité
capslock = verr.maj
custom = customisé
err_alloc = échec d'allocation mémoire
err_bounds = indice hors-limite
err_brightness_change = échec du changement de luminosité

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = impossibile allocare memoria
err_bounds = indice fuori limite

View File

@@ -2,6 +2,7 @@ authenticating = uwierzytelnianie...
brightness_down = zmniejsz jasność
brightness_up = zwiększ jasność
capslock = capslock
err_alloc = nieudana alokacja pamięci
err_bounds = indeks poza zakresem
err_brightness_change = nie udało się zmienić jasności

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = erro na atribuição de memória
err_bounds = índice fora de limites

View File

@@ -2,6 +2,7 @@
capslock = caixa alta
err_alloc = alocação de memória malsucedida
err_bounds = índice fora de limites

View File

@@ -17,6 +17,7 @@ capslock = capslock
err_pam_abort = tranzacţie pam anulată
err_pam_acct_expired = cont expirat
err_pam_auth = eroare de autentificare

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = не удалось выделить память
err_bounds = за пределами индекса

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = neuspijesna alokacija memorije
err_bounds = izvan granica indeksa

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = misslyckad minnesallokering
err_bounds = utanför banan index

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = basarisiz bellek ayirma
err_bounds = sinirlarin disinda dizin

View File

@@ -2,6 +2,7 @@
capslock = capslock
err_alloc = невдале виділення пам'яті
err_bounds = поза межами індексу

View File

@@ -2,6 +2,7 @@
capslock = 大写锁定
err_alloc = 内存分配失败
err_bounds = 索引越界