Skip to main content

Decor

Struct Decor 

Source
pub struct Decor {
    pub sync: bool,
    pub title: Option<Title>,
    pub progress: bool,
    pub notify: Option<Notify>,
    pub graphics: bool,
}
Expand description

Which decorations a terminal is known to read.

Data rather than a chain of ifs at each call site, and computed once: the environment does not change under a running process, and a decision taken per frame is a decision that can differ per frame.

Fields§

§sync: bool

Wrap frames in DEC 2026.

§title: Option<Title>

How to set the window title and put it back, if this terminal can do both.

§progress: bool

Report progress as OSC 9;4.

§notify: Option<Notify>

How to raise a desktop notification, if this terminal can.

§graphics: bool

Read the kitty graphics protocol — which is how the treemap pane gets on the screen.

A column of this table rather than a second one keyed on the same two environment variables, because two tables read from one environment are two tables that can disagree about which terminal this is. It is also the only decoration here that is cells rather than chrome, and it is here anyway for that reason: what decides it is the terminal’s identity, which is this table’s whole subject.

Absence is a refusal to guess, as everywhere else. The protocol does define a query for “do you read this”, and it is a round trip with no bound on the silence — the blocking probe this module exists to avoid. See super::treemap.

Implementations§

Source§

impl Decor

Source

pub fn detect() -> Self

What this process’s terminal reads, from the environment and nothing else.

Source

pub fn silent() -> Self

Nothing at all: the front end that is not a terminal, and the tests that are about something else.

Trait Implementations§

Source§

impl Clone for Decor

Source§

fn clone(&self) -> Decor

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Decor

Source§

impl Debug for Decor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Decor

Source§

fn default() -> Decor

Returns the “default value” for a type. Read more
Source§

impl Eq for Decor

Source§

impl PartialEq for Decor

Source§

fn eq(&self, other: &Decor) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Decor

Auto Trait Implementations§

§

impl Freeze for Decor

§

impl RefUnwindSafe for Decor

§

impl Send for Decor

§

impl Sync for Decor

§

impl Unpin for Decor

§

impl UnsafeUnpin for Decor

§

impl UnwindSafe for Decor

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.