pub struct Pane {Show 18 fields
pub id: PaneId,
pub terminal: Arc<Mutex<TerminalManager>>,
pub scroll_state: ScrollState,
pub mouse: MouseState,
pub bell: BellState,
pub cache: RenderCache,
pub refresh_task: Option<JoinHandle<()>>,
pub working_directory: Option<String>,
pub last_activity_time: Instant,
pub last_seen_generation: u64,
pub anti_idle_last_activity: Instant,
pub anti_idle_last_generation: u64,
pub silence_notified: bool,
pub exit_notified: bool,
pub session_logger: SharedSessionLogger,
pub bounds: PaneBounds,
pub background: PaneBackground,
pub restart_state: Option<RestartState>,
/* private fields */
}Expand description
A single terminal pane with its own state
Fields§
§id: PaneIdUnique identifier for this pane
terminal: Arc<Mutex<TerminalManager>>The terminal session for this pane
scroll_state: ScrollStateScroll state for this pane
mouse: MouseStateMouse state for this pane
bell: BellStateBell state for this pane
cache: RenderCacheRender cache for this pane
refresh_task: Option<JoinHandle<()>>Async task for refresh polling
working_directory: Option<String>Working directory when pane was created
last_activity_time: InstantLast time terminal output (activity) was detected
last_seen_generation: u64Last terminal update generation seen
anti_idle_last_activity: InstantLast activity time for anti-idle keep-alive
anti_idle_last_generation: u64Last terminal generation recorded for anti-idle tracking
silence_notified: boolWhether silence notification has been sent for current idle period
exit_notified: boolWhether exit notification has been sent for this pane
session_logger: SharedSessionLoggerSession logger for automatic session recording
bounds: PaneBoundsCurrent bounds of this pane (updated on layout calculation)
background: PaneBackgroundPer-pane background settings (overrides global config if image_path is set)
restart_state: Option<RestartState>State for shell restart behavior (None = shell running or closed normally)
Implementations§
Source§impl Pane
impl Pane
Sourcepub fn new(
id: PaneId,
config: &Config,
_runtime: Arc<Runtime>,
working_directory: Option<String>,
) -> Result<Self>
pub fn new( id: PaneId, config: &Config, _runtime: Arc<Runtime>, working_directory: Option<String>, ) -> Result<Self>
Create a new pane with a terminal session
Sourcepub fn new_for_tmux(
id: PaneId,
config: &Config,
_runtime: Arc<Runtime>,
) -> Result<Self>
pub fn new_for_tmux( id: PaneId, config: &Config, _runtime: Arc<Runtime>, ) -> Result<Self>
Create a new pane for tmux integration (no shell spawned)
This creates a terminal that receives output from tmux control mode rather than a local PTY.
Sourcepub fn is_bell_active(&self) -> bool
pub fn is_bell_active(&self) -> bool
Check if the visual bell is currently active
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Check if the terminal in this pane is still running
Sourcepub fn set_background(&mut self, background: PaneBackground)
pub fn set_background(&mut self, background: PaneBackground)
Set per-pane background settings (overrides global config)
Sourcepub fn background(&self) -> &PaneBackground
pub fn background(&self) -> &PaneBackground
Get per-pane background settings
Sourcepub fn set_background_image(&mut self, path: Option<String>)
pub fn set_background_image(&mut self, path: Option<String>)
Set a per-pane background image (overrides global config)
Sourcepub fn get_background_image(&self) -> Option<&str>
pub fn get_background_image(&self) -> Option<&str>
Get the per-pane background image path (if set)
Sourcepub fn respawn_shell(&mut self, config: &Config) -> Result<()>
pub fn respawn_shell(&mut self, config: &Config) -> Result<()>
Respawn the shell in this pane
This resets the terminal state and spawns a new shell process. Used when shell_exit_action is one of the restart variants.
Sourcepub fn write_restart_prompt(&self)
pub fn write_restart_prompt(&self)
Write a restart prompt message to the terminal
Sourcepub fn start_refresh_task(
&mut self,
runtime: Arc<Runtime>,
window: Arc<Window>,
max_fps: u32,
)
pub fn start_refresh_task( &mut self, runtime: Arc<Runtime>, window: Arc<Window>, max_fps: u32, )
Start the refresh polling task for this pane
Sourcepub fn stop_refresh_task(&mut self)
pub fn stop_refresh_task(&mut self)
Stop the refresh polling task
Sourcepub fn resize_terminal(&self, cols: usize, rows: usize)
pub fn resize_terminal(&self, cols: usize, rows: usize)
Resize the terminal to match the pane bounds
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Pane
impl !RefUnwindSafe for Pane
impl Send for Pane
impl Sync for Pane
impl Unpin for Pane
impl UnsafeUnpin for Pane
impl !UnwindSafe for Pane
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more