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: boolWrap frames in DEC 2026.
title: Option<Title>How to set the window title and put it back, if this terminal can do both.
progress: boolReport progress as OSC 9;4.
notify: Option<Notify>How to raise a desktop notification, if this terminal can.
graphics: boolRead 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§
Trait Implementations§
impl Copy for Decor
impl Eq for Decor
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> 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<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