From 2b97799b6715fd6c355db9c225029765971915e6 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Wed, 20 May 2026 00:29:53 +0300 Subject: feat: add configurable default shell refs #196 --- src/workspace.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/workspace.rs') diff --git a/src/workspace.rs b/src/workspace.rs index 69a83d75..47fa9cf7 100644 --- a/src/workspace.rs +++ b/src/workspace.rs @@ -89,6 +89,7 @@ impl Workspace { cols: u16, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, + default_shell: &str, events: mpsc::Sender, render_notify: Arc, render_dirty: Arc, @@ -99,6 +100,7 @@ impl Workspace { cols, scrollback_limit_bytes, host_terminal_theme, + default_shell, events, render_notify, render_dirty, @@ -123,6 +125,7 @@ impl Workspace { cols, scrollback_limit_bytes, host_terminal_theme, + "", events, render_notify, render_dirty, @@ -137,6 +140,7 @@ impl Workspace { cols: u16, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, + default_shell: &str, events: mpsc::Sender, render_notify: Arc, render_dirty: Arc, @@ -163,6 +167,7 @@ impl Workspace { cols, scrollback_limit_bytes, host_terminal_theme, + default_shell, events, render_notify, render_dirty, @@ -223,6 +228,7 @@ impl Workspace { cwd: PathBuf, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, + default_shell: &str, ) -> std::io::Result<(usize, TerminalState, TerminalRuntime)> { self.create_tab_with_runtime( rows, @@ -230,6 +236,7 @@ impl Workspace { cwd, scrollback_limit_bytes, host_terminal_theme, + default_shell, None, ) } @@ -241,6 +248,7 @@ impl Workspace { cwd: PathBuf, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, + default_shell: &str, argv: Option<&[String]>, ) -> std::io::Result<(usize, TerminalState, TerminalRuntime)> { let number = self.tabs.len() + 1; @@ -278,6 +286,7 @@ impl Workspace { cols, scrollback_limit_bytes, host_terminal_theme, + default_shell, events, render_notify, render_dirty, @@ -343,6 +352,7 @@ impl Workspace { cwd: Option, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, + default_shell: &str, ) -> std::io::Result { let new_pane = self .active_tab_mut() @@ -354,6 +364,7 @@ impl Workspace { cwd, scrollback_limit_bytes, host_terminal_theme, + default_shell, )?; self.register_new_pane(new_pane.pane_id); Ok(new_pane) @@ -368,6 +379,7 @@ impl Workspace { cwd: Option, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, + default_shell: &str, focus_new_pane: bool, ) -> Option> { self.split_pane_with_runtime( @@ -378,6 +390,7 @@ impl Workspace { cwd, scrollback_limit_bytes, host_terminal_theme, + default_shell, focus_new_pane, None, ) @@ -404,6 +417,7 @@ impl Workspace { cwd, scrollback_limit_bytes, host_terminal_theme, + "", focus_new_pane, Some(argv), ) @@ -419,6 +433,7 @@ impl Workspace { cwd: Option, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, + default_shell: &str, focus_new_pane: bool, argv: Option<&[String]>, ) -> Option> { @@ -444,6 +459,7 @@ impl Workspace { cwd, scrollback_limit_bytes, host_terminal_theme, + default_shell, ) } { Ok(new_pane) => new_pane, -- cgit v1.2.3