Merge pull request 'Support specifying multiple directories to crawl for sessions' (#744) from jack-avery/ly:multiple_session_dirs into master

Reviewed-on: https://codeberg.org/AnErrupTion/ly/pulls/744
Reviewed-by: AnErrupTion <anerruption@disroot.org>
This commit is contained in:
AnErrupTion 2025-03-28 16:57:15 +00:00
commit 4345a99c02
2 changed files with 14 additions and 2 deletions

View File

@ -222,6 +222,8 @@ vi_default_mode = normal
vi_mode = false
# Wayland desktop environments
# You can specify multiple directories,
# e.g. /usr/share/wayland-sessions:/usr/local/share/wayland-sessions
waylandsessions = $PREFIX_DIRECTORY/share/wayland-sessions
# Xorg server command
@ -235,4 +237,6 @@ xauth_cmd = $PREFIX_DIRECTORY/bin/xauth
xinitrc = ~/.xinitrc
# Xorg desktop environments
# You can specify multiple directories,
# e.g. /usr/share/xsessions:/usr/local/share/xsessions
xsessions = $PREFIX_DIRECTORY/share/xsessions

View File

@ -288,8 +288,16 @@ pub fn main() !void {
try info_line.addMessage(hostname, config.bg, config.fg);
}
try crawl(&session, lang, config.waylandsessions, .wayland);
if (build_options.enable_x11_support) try crawl(&session, lang, config.xsessions, .x11);
var wayland_session_dirs = std.mem.splitScalar(u8, config.waylandsessions, ':');
while (wayland_session_dirs.next()) |dir| {
try crawl(&session, lang, dir, .wayland);
}
if (build_options.enable_x11_support) {
var x_session_dirs = std.mem.splitScalar(u8, config.xsessions, ':');
while (x_session_dirs.next()) |dir| {
try crawl(&session, lang, dir, .x11);
}
}
var login = Text.init(allocator, &buffer, false, null);
defer login.deinit();