diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-12 19:07:07 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-12 19:10:09 +0300 |
| commit | f7a7da03fc27cc6fe4e6a44dabddcd303f939bb9 (patch) | |
| tree | 69a00241e4500703bb723b64dd0060cc83730a0b /src/pane.rs | |
| parent | 53429206b736aa0fcfb1c5bfc1c0b11dcca3a059 (diff) | |
fix: stabilize public pane and tab ids
refs #569
Diffstat (limited to 'src/pane.rs')
| -rw-r--r-- | src/pane.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/pane.rs b/src/pane.rs index 64fbf32b..601334d9 100644 --- a/src/pane.rs +++ b/src/pane.rs @@ -1323,6 +1323,7 @@ impl PaneRuntime { events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, render_dirty: Arc<AtomicBool>, + public_pane_id: Option<&str>, ) -> std::io::Result<Self> { Self::spawn_with_initial_history( pane_id, @@ -1336,9 +1337,12 @@ impl PaneRuntime { events, render_notify, render_dirty, + public_pane_id, ) } + // Runtime construction needs to thread PTY size, environment, theme, and render hooks together. + #[allow(clippy::too_many_arguments)] pub(crate) fn spawn_with_initial_history( pane_id: PaneId, rows: u16, @@ -1351,12 +1355,13 @@ impl PaneRuntime { events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, render_dirty: Arc<AtomicBool>, + public_pane_id: Option<&str>, ) -> std::io::Result<Self> { let mut cmd = pane_shell_command_builder(shell_config)?; cmd.cwd(cwd); cmd.env(crate::HERDR_ENV_VAR, crate::HERDR_ENV_VALUE); apply_pane_terminal_env(&mut cmd); - crate::integration::apply_pane_env(&mut cmd, pane_id); + crate::integration::apply_pane_env(&mut cmd, pane_id, public_pane_id); Self::spawn_command_builder( pane_id, rows, @@ -1375,6 +1380,8 @@ impl PaneRuntime { ) } + // Runtime construction needs to thread PTY size, environment, theme, and render hooks together. + #[allow(clippy::too_many_arguments)] pub fn spawn_shell_command( pane_id: PaneId, rows: u16, @@ -1387,6 +1394,7 @@ impl PaneRuntime { events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, render_dirty: Arc<AtomicBool>, + public_pane_id: Option<&str>, ) -> std::io::Result<Self> { let mut cmd = CommandBuilder::new("/bin/sh"); cmd.arg("-c"); @@ -1394,7 +1402,7 @@ impl PaneRuntime { cmd.cwd(cwd); cmd.env(crate::HERDR_ENV_VAR, crate::HERDR_ENV_VALUE); apply_pane_terminal_env(&mut cmd); - crate::integration::apply_pane_env(&mut cmd, pane_id); + crate::integration::apply_pane_env(&mut cmd, pane_id, public_pane_id); for (key, value) in extra_env { cmd.env(key, value); } @@ -1424,6 +1432,7 @@ impl PaneRuntime { events: mpsc::Sender<AppEvent>, render_notify: Arc<Notify>, render_dirty: Arc<AtomicBool>, + public_pane_id: Option<&str>, ) -> std::io::Result<Self> { let Some((program, args)) = argv.split_first() else { return Err(std::io::Error::new( @@ -1438,7 +1447,7 @@ impl PaneRuntime { cmd.cwd(cwd); cmd.env(crate::HERDR_ENV_VAR, crate::HERDR_ENV_VALUE); apply_pane_terminal_env(&mut cmd); - crate::integration::apply_pane_env(&mut cmd, pane_id); + crate::integration::apply_pane_env(&mut cmd, pane_id, public_pane_id); Self::spawn_command_builder( pane_id, rows, |
