aboutsummaryrefslogtreecommitdiff
path: root/src/workspace/tab.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-20 00:29:53 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-20 00:34:27 +0300
commit2b97799b6715fd6c355db9c225029765971915e6 (patch)
treecb7c2c7093f439ad3460687b88c3e6cf539b64e8 /src/workspace/tab.rs
parentff8e5a14abe445a61dc200fd30a70870c75d183c (diff)
feat: add configurable default shell
refs #196
Diffstat (limited to 'src/workspace/tab.rs')
-rw-r--r--src/workspace/tab.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/workspace/tab.rs b/src/workspace/tab.rs
index 943a45a0..3616b95c 100644
--- a/src/workspace/tab.rs
+++ b/src/workspace/tab.rs
@@ -53,6 +53,7 @@ impl Tab {
cols: u16,
scrollback_limit_bytes: usize,
host_terminal_theme: crate::terminal_theme::TerminalTheme,
+ default_shell: &str,
events: mpsc::Sender<AppEvent>,
render_notify: Arc<Notify>,
render_dirty: Arc<AtomicBool>,
@@ -64,6 +65,7 @@ impl Tab {
cols,
scrollback_limit_bytes,
host_terminal_theme,
+ default_shell,
events,
render_notify,
render_dirty,
@@ -90,6 +92,7 @@ impl Tab {
cols,
scrollback_limit_bytes,
host_terminal_theme,
+ "",
events,
render_notify,
render_dirty,
@@ -105,6 +108,7 @@ impl Tab {
cols: u16,
scrollback_limit_bytes: usize,
host_terminal_theme: crate::terminal_theme::TerminalTheme,
+ default_shell: &str,
events: mpsc::Sender<AppEvent>,
render_notify: Arc<Notify>,
render_dirty: Arc<AtomicBool>,
@@ -132,6 +136,7 @@ impl Tab {
initial_cwd.clone(),
scrollback_limit_bytes,
host_terminal_theme,
+ default_shell,
events.clone(),
render_notify.clone(),
render_dirty.clone(),
@@ -189,6 +194,7 @@ impl Tab {
cwd: Option<PathBuf>,
scrollback_limit_bytes: usize,
host_terminal_theme: crate::terminal_theme::TerminalTheme,
+ default_shell: &str,
) -> std::io::Result<NewPane> {
self.split_focused_with_runtime(
direction,
@@ -197,6 +203,7 @@ impl Tab {
cwd,
scrollback_limit_bytes,
host_terminal_theme,
+ default_shell,
None,
)
}
@@ -219,6 +226,7 @@ impl Tab {
cwd,
scrollback_limit_bytes,
host_terminal_theme,
+ "",
Some(SplitCommand::Shell { command, extra_env }),
)
}
@@ -240,6 +248,7 @@ impl Tab {
cwd,
scrollback_limit_bytes,
host_terminal_theme,
+ "",
Some(SplitCommand::Argv { argv }),
)
}
@@ -252,6 +261,7 @@ impl Tab {
cwd: Option<PathBuf>,
scrollback_limit_bytes: usize,
host_terminal_theme: crate::terminal_theme::TerminalTheme,
+ default_shell: &str,
command: Option<SplitCommand<'_>>,
) -> std::io::Result<NewPane> {
let previous_focus = self.layout.focused();
@@ -298,6 +308,7 @@ impl Tab {
actual_cwd.clone(),
scrollback_limit_bytes,
host_terminal_theme,
+ default_shell,
self.events.clone(),
self.render_notify.clone(),
self.render_dirty.clone(),