pub enum TabKind {
Shell,
Profile(String),
New,
Image(String),
Markdown(String),
Editor(String),
Pdf(String),
Office(String),
Sound(String),
Admin(String),
Desktop(String),
}Expand description
What a tab opens.
Variants§
Shell
A shell in the workspace’s own container, with no harness in it.
Profile(String)
A harness in the container of the profile of this name.
New
A blank tab asking what it should open. It has no container and never starts one; the choice turns it into one of the others in place.
Image(String)
A picture of the workspace, drawn by chafa in the workspace’s own container. The text is the
file’s key in the file tree: its path inside Work/, written with /.
Markdown(String)
A Markdown document of the workspace, read from the disk and shown by QCode itself, with no container at all.
Editor(String)
A file of the workspace, open in the chosen editor in the workspace’s own container.
Pdf(String)
A PDF of the workspace: its text, taken out in the workspace’s own container and shown by QCode, or one of its pages drawn there as a picture.
Office(String)
A word processor’s document of the workspace: its text, taken out in the workspace’s own container and shown by QCode.
Sound(String)
A sound of the workspace: played in a container of its own made for it, or, when it cannot or should not play, described.
Admin(String)
bash as root in the container of the profile of this name, asked for by the person to
install what the system of that container lacks. What it changes stays in this workspace.
Desktop(String)
A window of the desktop harness of the profile of this name, open on the person’s own screen from a container of its own. The tab has no terminal: it says where the window stands and offers the two things that can be done to it.
Implementations§
Source§impl TabKind
impl TabKind
Sourcepub fn file(&self) -> Option<&str>
pub fn file(&self) -> Option<&str>
The key of the workspace’s file the tab opens, when it opens one.
Sourcepub fn runs_agent(&self) -> bool
pub fn runs_agent(&self) -> bool
Whether an agent works in a tab of this kind: a harness in a terminal, or the window of a desktop harness. Quitting and closing a tab ask about the same tabs through this.
Trait Implementations§
impl Eq for TabKind
impl StructuralPartialEq for TabKind
Auto Trait Implementations§
impl Freeze for TabKind
impl RefUnwindSafe for TabKind
impl Send for TabKind
impl Sync for TabKind
impl Unpin for TabKind
impl UnsafeUnpin for TabKind
impl UnwindSafe for TabKind
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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