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§
Sourcefn terminal_size(&mut self) -> Result<TerminalSize>
fn terminal_size(&mut self) -> Result<TerminalSize>
Queries the current visible size in character cells.
Sourcefn cursor_position(&mut self) -> Result<Position>
fn cursor_position(&mut self) -> Result<Position>
Queries the current zero-based cursor position.
Sourcefn window_size(&mut self) -> Result<WindowSize>
fn window_size(&mut self) -> Result<WindowSize>
Queries both cell and pixel dimensions when the platform exposes them.
Sourcefn raw_mode_enabled(&mut self) -> Result<bool>
fn raw_mode_enabled(&mut self) -> Result<bool>
Reports whether process terminal input is currently in raw mode.
Provided Methods§
Sourcefn terminal_capabilities(&mut self) -> Result<TerminalCapabilities>
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.
Sourcefn terminal_background(&mut self) -> Result<Option<TerminalBackground>>
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.