pub struct Capabilities {
pub truecolor: bool,
pub sixel: bool,
pub iterm2: bool,
pub kitty_graphics: bool,
pub kitty_keyboard: bool,
pub sync_output: bool,
pub blitters: BlitterSupport,
}crossterm only.Expand description
Runtime terminal capability probe (issue #264): read-only Capabilities
snapshot plus the Blitter ladder it drives. Diagnostics-only — image
rendering routes through the ladder automatically.
Read-only snapshot of negotiated terminal capabilities, populated once at
session enter via DA1/DA2/XTGETTCAP.
App code must not be required to branch on this — it exists for
diagnostics and to drive the automatic blitter ladder (see
Capabilities::best_blitter). On a headless backend (TestBackend / piped
stdout) or when the probe gets no reply, every field falls back to a
conservative default.
Available since 0.21.0.
§Example
let caps = ui.capabilities();
if caps.sixel {
// Diagnostics only — image rendering already routes through the ladder.
}Fields§
§truecolor: bool24-bit color confirmed (XTGETTCAP Tc/RGB or COLORTERM).
sixel: boolSixel graphics confirmed (DA1 attribute 4).
iterm2: booliTerm2 OSC 1337 inline-image protocol confirmed (env identity for iTerm2 / WezTerm / Tabby / mintty; issue #265).
kitty_graphics: boolKitty graphics protocol confirmed (DA2 terminal-ID heuristic).
kitty_keyboard: boolKitty keyboard protocol confirmed.
sync_output: boolSynchronized output (DECSET 2026) confirmed.
blitters: BlitterSupportSet of cell-art blitters the terminal can drive.
Implementations§
Source§impl Capabilities
impl Capabilities
Sourcepub fn best_blitter(&self) -> Blitter
pub fn best_blitter(&self) -> Blitter
Resolve the best available image blitter for this terminal.
Returns the first supported rung of the ladder
(Kitty > Sixel > iTerm2 > Sextant > HalfBlock). This is total: it always
returns a Blitter, falling through to Blitter::HalfBlock which
every terminal supports.
§Example
let _ = ui.capabilities().best_blitter();Trait Implementations§
Source§impl Clone for Capabilities
impl Clone for Capabilities
Source§fn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more