ttx 0.1.0
Loading...
Searching...
No Matches
device_status.h
Go to the documentation of this file.
1#pragma once
2
3#include "di/reflect/prelude.h"
5#include "ttx/key_event_io.h"
6
7namespace ttx::terminal {
13 bool malfunction { false };
14
15 static auto from_csi(CSI const& csi) -> di::Optional<OperatingStatusReport>;
16 auto serialize() const -> di::String;
17
18 auto operator==(OperatingStatusReport const& other) const -> bool = default;
19
20 constexpr friend auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<OperatingStatusReport>) {
21 return di::make_fields<"OperatingStatusReport">(di::field<"malfunction", &OperatingStatusReport::malfunction>);
22 }
23};
24
35 u32 row { 0 };
36 u32 col { 0 };
37
38 static auto from_csi(CSI const& csi) -> di::Optional<CursorPositionReport>;
39 auto serialize() const -> di::String;
40
41 auto operator==(CursorPositionReport const& other) const -> bool = default;
42
43 constexpr friend auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<CursorPositionReport>) {
44 return di::make_fields<"CursorPositionReport">(di::field<"row", &CursorPositionReport::row>,
45 di::field<"col", &CursorPositionReport::col>);
46 }
47};
48
56
57 static auto from_csi(CSI const& csi) -> di::Optional<KittyKeyReport>;
58 auto serialize() const -> di::String;
59
60 auto operator==(KittyKeyReport const& other) const -> bool = default;
61
62 constexpr friend auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<KittyKeyReport>) {
63 return di::make_fields<"KittyKeyReport">(di::field<"flags", &KittyKeyReport::flags>);
64 }
65};
66
74 di::Optional<di::String> response;
75
76 static auto from_dcs(DCS const& dcs) -> di::Optional<StatusStringResponse>;
77 auto serialize() const -> di::String;
78
79 auto operator==(StatusStringResponse const& other) const -> bool = default;
80
81 constexpr friend auto tag_invoke(di::Tag<di::reflect>, di::InPlaceType<StatusStringResponse>) {
82 return di::make_fields<"StatusStringResponse">(di::field<"response", &StatusStringResponse::response>);
83 }
84};
85}
Definition capability.h:8
KeyReportingFlags
Definition key_event_io.h:27
@ None
Definition key_event_io.h:28
Definition escape_sequence_parser.h:56
Definition escape_sequence_parser.h:22
Cursor position report.
Definition device_status.h:34
static auto from_csi(CSI const &csi) -> di::Optional< CursorPositionReport >
Definition device_status.cpp:28
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< CursorPositionReport >)
Definition device_status.h:43
u32 row
Definition device_status.h:35
auto serialize() const -> di::String
Definition device_status.cpp:45
u32 col
Definition device_status.h:36
Kitty key protocol status report.
Definition device_status.h:54
KeyReportingFlags flags
Definition device_status.h:55
static auto from_csi(CSI const &csi) -> di::Optional< KittyKeyReport >
Definition device_status.cpp:49
auto serialize() const -> di::String
Definition device_status.cpp:64
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< KittyKeyReport >)
Definition device_status.h:62
Operating status report.
Definition device_status.h:12
bool malfunction
Definition device_status.h:13
static auto from_csi(CSI const &csi) -> di::Optional< OperatingStatusReport >
Definition device_status.cpp:8
auto serialize() const -> di::String
Definition device_status.cpp:24
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< OperatingStatusReport >)
Definition device_status.h:20
Request status string response.
Definition device_status.h:73
di::Optional< di::String > response
Definition device_status.h:74
static auto from_dcs(DCS const &dcs) -> di::Optional< StatusStringResponse >
Definition device_status.cpp:68
auto serialize() const -> di::String
Definition device_status.cpp:87
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< StatusStringResponse >)
Definition device_status.h:81