ttx 0.1.0
Loading...
Searching...
No Matches
ttx::terminal::OSC21 Struct Reference

Represents a color palette query or change. More...

#include <ttx/terminal/escapes/osc_21.h>

Classes

struct  Request

Public Member Functions

auto serialize (Feature features) const -> di::String
auto operator== (OSC21 const &) const -> bool=default

Static Public Member Functions

static constexpr auto is_valid_osc_number (u32 number)
static auto parse (di::StringView data) -> di::Optional< OSC21 >

Public Attributes

di::Vector< Requestrequests

Static Public Attributes

static constexpr auto palette = 4u
static constexpr auto special = 5u
static constexpr auto dynamic_start = 10u
static constexpr auto dynamic_foreground = 10u
static constexpr auto dynamic_background = 11u
static constexpr auto dynamic_cursor = 12u
static constexpr auto dynamic_selection_background = 17u
static constexpr auto dynamic_selection_foreground = 19u
static constexpr auto dynamic_end = 19u
static constexpr auto reset_offset = 100u
static constexpr auto kitty = 21u

Friends

constexpr friend auto tag_invoke (di::Tag< di::reflect >, di::InPlaceType< OSC21 >)

Detailed Description

Represents a color palette query or change.

We support both the kitty extension OSC 21, as well as the legacy xterm escape sequences. Because the semantics between the two protocols are similiar enough, we parse both protocols into a common representation.

When we query the outer terminal using this protocol we prefer OSC 21 if available and will otherwise use the legacy protocol, but importantly not all colors we support are specifiable via the legacy protocols.

Member Function Documentation

◆ is_valid_osc_number()

constexpr auto ttx::terminal::OSC21::is_valid_osc_number ( u32 number)
inlinestaticconstexpr

◆ operator==()

auto ttx::terminal::OSC21::operator== ( OSC21 const & ) const -> bool=default
default

◆ parse()

auto ttx::terminal::OSC21::parse ( di::StringView data) -> di::Optional< OSC21 >
static

◆ serialize()

auto ttx::terminal::OSC21::serialize ( Feature features) const -> di::String

◆ tag_invoke

friend auto tag_invoke ( di::Tag< di::reflect > ,
di::InPlaceType< OSC21 >  )
friend

Member Data Documentation

◆ dynamic_background

auto ttx::terminal::OSC21::dynamic_background = 11u
staticconstexpr

◆ dynamic_cursor

auto ttx::terminal::OSC21::dynamic_cursor = 12u
staticconstexpr

◆ dynamic_end

auto ttx::terminal::OSC21::dynamic_end = 19u
staticconstexpr

◆ dynamic_foreground

auto ttx::terminal::OSC21::dynamic_foreground = 10u
staticconstexpr

◆ dynamic_selection_background

auto ttx::terminal::OSC21::dynamic_selection_background = 17u
staticconstexpr

◆ dynamic_selection_foreground

auto ttx::terminal::OSC21::dynamic_selection_foreground = 19u
staticconstexpr

◆ dynamic_start

auto ttx::terminal::OSC21::dynamic_start = 10u
staticconstexpr

◆ kitty

auto ttx::terminal::OSC21::kitty = 21u
staticconstexpr

◆ palette

auto ttx::terminal::OSC21::palette = 4u
staticconstexpr

◆ requests

di::Vector<Request> ttx::terminal::OSC21::requests

◆ reset_offset

auto ttx::terminal::OSC21::reset_offset = 100u
staticconstexpr

◆ special

auto ttx::terminal::OSC21::special = 5u
staticconstexpr

The documentation for this struct was generated from the following files: