diff --git a/res/config.ini b/res/config.ini index 4970520..86f44b4 100644 --- a/res/config.ini +++ b/res/config.ini @@ -330,6 +330,10 @@ session_log = .local/state/ly-session.log # Setup command setup_cmd = $CONFIG_DIRECTORY/ly/setup.sh +# Show the shell session in the session list +# If false, the shell session will be hidden +shell = true + # Specifies the key combination used for showing the password show_password_key = F7 diff --git a/src/config/Config.zig b/src/config/Config.zig index c0a4350..2233cb4 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -83,6 +83,7 @@ save: bool = true, service_name: [:0]const u8 = "ly", session_log: ?[]const u8 = "ly-session.log", setup_cmd: []const u8 = build_options.config_directory ++ "/ly/setup.sh", +shell: bool = true, show_password_key: []const u8 = "F7", show_tty: bool = false, shutdown_cmd: []const u8 = "/sbin/shutdown -a now", diff --git a/src/main.zig b/src/main.zig index 08c5177..bd9294c 100644 --- a/src/main.zig +++ b/src/main.zig @@ -737,18 +737,20 @@ pub fn main() !void { try state.buffer.registerKeybind(&state.login.label.keybinds, "H", &viGoLeft, &state); try state.buffer.registerKeybind(&state.login.label.keybinds, "L", &viGoRight, &state); - addOtherEnvironment(&state.session, state.lang, .shell, null) catch |err| { - try state.info_line.addMessage( - state.lang.err_alloc, - state.config.error_bg, - state.config.error_fg, - ); - try state.log_file.err( - "sys", - "failed to add shell environment: {s}", - .{@errorName(err)}, - ); - }; + if (state.config.shell) { + addOtherEnvironment(&state.session, state.lang, .shell, null) catch |err| { + try state.info_line.addMessage( + state.lang.err_alloc, + state.config.error_bg, + state.config.error_fg, + ); + try state.log_file.err( + "sys", + "failed to add shell environment: {s}", + .{@errorName(err)}, + ); + }; + } if (build_options.enable_x11_support) { if (state.config.xinitrc) |xinitrc_cmd| {