Skip to main content

write_decrqss

Function write_decrqss 

Source
pub fn write_decrqss<W: Write>(w: &mut W, selector: &str) -> Result<()>
Expand description

Request a current setting with DECRQSS, ESC P $ q <selector> ESC \.

selector spells the control function being asked about, as its private prefix, intermediates and final byte: "m" for SGR, " q" for DECSCUSR (cursor style), "r" for DECSTBM (scrolling region), "\"q" for DECSCA, "$|" for DECSCPP. xterm’s private requests take a parameter too, as in ">4m" for XTQMODKEYS. An empty selector is written like any other and the terminal reports it as unrecognized, which keeps one request paired with one reply.

The terminal answers with DECRPSS: ESC P 1 $ r <D...D> ESC \ when it recognizes the request, where the data string is the setting spelled out as a CSI sequence without its introducer, and ESC P 0 $ r ESC \ when it does not. Both decode as Event::SettingReport. Because the unrecognized form echoes nothing back, only the request says which setting it was about. Use write_decrpss to encode either reply.