Skip to main content

TerminalQuery

Trait TerminalQuery 

Source
pub trait TerminalQuery {
    // Required methods
    fn terminal_size(&mut self) -> Result<TerminalSize>;
    fn cursor_position(&mut self) -> Result<Position>;
    fn window_size(&mut self) -> Result<WindowSize>;
    fn raw_mode_enabled(&mut self) -> Result<bool>;

    // Provided methods
    fn terminal_capabilities(&mut self) -> Result<TerminalCapabilities> { ... }
    fn terminal_background(&mut self) -> Result<Option<TerminalBackground>> { ... }
}
Expand description

Synchronous inspection of terminal state.

Queries take mutable access because some terminals answer only after the backend writes a protocol request and consumes its response from the input stream. This also prevents an event reader from racing that exchange.

Required Methods§

Source

fn terminal_size(&mut self) -> Result<TerminalSize>

Queries the current visible size in character cells.

Source

fn cursor_position(&mut self) -> Result<Position>

Queries the current zero-based cursor position.

Source

fn window_size(&mut self) -> Result<WindowSize>

Queries both cell and pixel dimensions when the platform exposes them.

Source

fn raw_mode_enabled(&mut self) -> Result<bool>

Reports whether process terminal input is currently in raw mode.

Provided Methods§

Source

fn terminal_capabilities(&mut self) -> Result<TerminalCapabilities>

Queries rendering capabilities confirmed by the terminal.

Backends that cannot exchange capability queries return an empty set rather than inferring support from environment variables or terminal names.

Source

fn terminal_background(&mut self) -> Result<Option<TerminalBackground>>

Queries the terminal’s current background color.

Backends that cannot exchange an OSC 11 query return Ok(None). A missing, timed-out, or malformed reply also produces Ok(None); failures of the owned terminal connection remain errors.

Implementations on Foreign Types§

Source§

impl<T: TerminalQuery + ?Sized> TerminalQuery for &mut T

Implementors§