aboutsummaryrefslogtreecommitdiff
path: root/src/platform/linux.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/linux.rs')
-rw-r--r--src/platform/linux.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/platform/linux.rs b/src/platform/linux.rs
index 48f1ef1c..6557b41b 100644
--- a/src/platform/linux.rs
+++ b/src/platform/linux.rs
@@ -70,6 +70,10 @@ pub(crate) fn scrollback_editor_argv(path: &std::path::Path) -> std::io::Result<
Ok(vec!["/bin/sh".to_string(), "-c".to_string(), command])
}
+pub(crate) fn interactive_shell_command(argv: &[String], shell_name: &str) -> Option<String> {
+ super::interactive_unix_shell_command(argv, shell_name, shell_quote)
+}
+
fn shell_quote(value: &str) -> String {
if !value.is_empty()
&& value.chars().all(|ch| {
@@ -87,6 +91,10 @@ fn shell_quote(value: &str) -> String {
}
/// Collect the foreground terminal job for a given child PID.
+pub(crate) fn available_pane_shell(child_pid: u32) -> Option<String> {
+ super::available_pane_shell_from_job(child_pid, foreground_job(child_pid)?)
+}
+
pub fn foreground_job(child_pid: u32) -> Option<ForegroundJob> {
let tpgid = foreground_process_group_id(child_pid)?;
let members = foreground_process_group_members(child_pid, tpgid)?;