pub struct TerminalPanel { /* private fields */ }Expand description
The panel’s state: its shells, and how it is shown.
Implementations§
Source§impl TerminalPanel
impl TerminalPanel
Sourcepub fn attach(&mut self, notify: Sender<WorkerMsg>)
pub fn attach(&mut self, notify: Sender<WorkerMsg>)
Connects the panel to the worker channel its sessions report on. Until this is called — as in tests — opening a shell is an error.
Sourcepub fn is_visible(&self) -> bool
pub fn is_visible(&self) -> bool
Whether the panel is on screen.
Sourcepub fn shell_focused(&self) -> bool
pub fn shell_focused(&self) -> bool
Whether keystrokes go to the shell rather than to Trail.
Sourcepub fn is_maximized(&self) -> bool
pub fn is_maximized(&self) -> bool
Whether the panel takes the whole screen above the status bar.
Sourcepub fn resize_all(&mut self, size: (u16, u16))
pub fn resize_all(&mut self, size: (u16, u16))
Resizes every shell to the panel’s inner size. Called by the renderer, which is where the size is known.
Sourcepub fn note_output(&mut self)
pub fn note_output(&mut self)
Records that a shell produced output. The event loop draws it at the next frame rather than immediately, so a flood is drawn at a capped rate.
A hidden panel draws nothing, so its output is not worth a frame. Its readers stay quiet until the next frame drawn for any other reason resets them, which also means a hidden shell costs one message per frame at most, however much it prints.
Sourcepub fn output_pending(&self) -> bool
pub fn output_pending(&self) -> bool
Whether output is waiting to be drawn.
Sourcepub fn frame_drawn(&mut self)
pub fn frame_drawn(&mut self)
Called after a frame is drawn: what was pending is on screen, and every reader may announce new output again.
Sourcepub fn on_exit(&mut self, id: u64) -> bool
pub fn on_exit(&mut self, id: u64) -> bool
Removes the shell id after it exited. Returns whether anything changed.
Sourcepub fn new_shell(
&mut self,
config: &TerminalConfig,
profile_name: Option<&str>,
cwd: &Path,
) -> Result<(), String>
pub fn new_shell( &mut self, config: &TerminalConfig, profile_name: Option<&str>, cwd: &Path, ) -> Result<(), String>
Starts a new shell from profile_name (or the default) in cwd, makes
it the active one, and shows and focuses the panel.
§Errors
Returns a message for the status bar when the profile is unknown, the panel is not attached, or the program cannot be started.
Sourcepub fn toggle(
&mut self,
config: &TerminalConfig,
cwd: &Path,
) -> Result<(), String>
pub fn toggle( &mut self, config: &TerminalConfig, cwd: &Path, ) -> Result<(), String>
The toggle key: shows the panel (starting a shell if there is none) and focuses it, or hides it and returns focus to the file list.
§Errors
As Self::new_shell, when opening has to start a shell.
Sourcepub fn switch_focus(
&mut self,
config: &TerminalConfig,
cwd: &Path,
) -> Result<(), String>
pub fn switch_focus( &mut self, config: &TerminalConfig, cwd: &Path, ) -> Result<(), String>
The focus key: moves the keyboard to the other side, opening the panel first if it is hidden.
§Errors
As Self::new_shell, when opening has to start a shell.
Sourcepub fn select(&mut self, n: usize) -> Result<(), String>
pub fn select(&mut self, n: usize) -> Result<(), String>
Switches to shell number n, counted from 1 as the tabs are labelled.
§Errors
Returns a message when there is no shell n.
Sourcepub fn close_active(&mut self)
pub fn close_active(&mut self)
Ends the active shell now, without asking.
Sourcepub fn toggle_maximized(&mut self)
pub fn toggle_maximized(&mut self)
Maximizes the panel, or restores it.
Sourcepub fn quit_confirmation(
&self,
policy: ConfirmPolicy,
cancel: bool,
) -> Option<Confirm>
pub fn quit_confirmation( &self, policy: ConfirmPolicy, cancel: bool, ) -> Option<Confirm>
Whether quitting needs a confirmation under policy, and if so the
question to ask. Reads the process table when the policy is
when_busy, which costs tens of milliseconds — fine on a quit.
Sourcepub fn request_close(&mut self, policy: ConfirmPolicy)
pub fn request_close(&mut self, policy: ConfirmPolicy)
:term close: closes the active shell, or asks first under policy.
Trait Implementations§
Source§impl Debug for TerminalPanel
impl Debug for TerminalPanel
Auto Trait Implementations§
impl !RefUnwindSafe for TerminalPanel
impl !Sync for TerminalPanel
impl !UnwindSafe for TerminalPanel
impl Freeze for TerminalPanel
impl Send for TerminalPanel
impl Unpin for TerminalPanel
impl UnsafeUnpin for TerminalPanel
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().