Skip to main content

zellij_utils/opt/rustwide/workdir/assets/prost/
api.action.rs

1// This file is @generated by prost-build.
2#[allow(clippy::derive_partial_eq_without_eq)]
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct PercentOrFixed {
5    #[prost(oneof="percent_or_fixed::SizeType", tags="1, 2")]
6    pub size_type: ::core::option::Option<percent_or_fixed::SizeType>,
7}
8/// Nested message and enum types in `PercentOrFixed`.
9pub mod percent_or_fixed {
10    #[allow(clippy::derive_partial_eq_without_eq)]
11#[derive(Clone, PartialEq, ::prost::Oneof)]
12    pub enum SizeType {
13        #[prost(uint32, tag="1")]
14        Percent(u32),
15        #[prost(uint32, tag="2")]
16        Fixed(u32),
17    }
18}
19#[allow(clippy::derive_partial_eq_without_eq)]
20#[derive(Clone, PartialEq, ::prost::Message)]
21pub struct LayoutConstraintWithValue {
22    #[prost(enumeration="LayoutConstraint", tag="1")]
23    pub constraint_type: i32,
24    #[prost(uint32, optional, tag="2")]
25    pub value: ::core::option::Option<u32>,
26}
27#[allow(clippy::derive_partial_eq_without_eq)]
28#[derive(Clone, PartialEq, ::prost::Message)]
29pub struct PluginUserConfiguration {
30    #[prost(map="string, string", tag="1")]
31    pub configuration: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
32}
33#[allow(clippy::derive_partial_eq_without_eq)]
34#[derive(Clone, PartialEq, ::prost::Message)]
35pub struct RunPluginLocationData {
36    #[prost(enumeration="RunPluginLocation", tag="1")]
37    pub location_type: i32,
38    #[prost(oneof="run_plugin_location_data::LocationData", tags="2, 3, 4")]
39    pub location_data: ::core::option::Option<run_plugin_location_data::LocationData>,
40}
41/// Nested message and enum types in `RunPluginLocationData`.
42pub mod run_plugin_location_data {
43    #[allow(clippy::derive_partial_eq_without_eq)]
44#[derive(Clone, PartialEq, ::prost::Oneof)]
45    pub enum LocationData {
46        #[prost(string, tag="2")]
47        FilePath(::prost::alloc::string::String),
48        #[prost(message, tag="3")]
49        ZellijTag(super::PluginTag),
50        #[prost(string, tag="4")]
51        RemoteUrl(::prost::alloc::string::String),
52    }
53}
54#[allow(clippy::derive_partial_eq_without_eq)]
55#[derive(Clone, PartialEq, ::prost::Message)]
56pub struct PluginTag {
57    #[prost(string, tag="1")]
58    pub tag: ::prost::alloc::string::String,
59}
60#[allow(clippy::derive_partial_eq_without_eq)]
61#[derive(Clone, PartialEq, ::prost::Message)]
62pub struct RunPlugin {
63    #[prost(bool, tag="1")]
64    pub allow_exec_host_cmd: bool,
65    #[prost(message, optional, tag="2")]
66    pub location: ::core::option::Option<RunPluginLocationData>,
67    #[prost(message, optional, tag="3")]
68    pub configuration: ::core::option::Option<PluginUserConfiguration>,
69    #[prost(string, optional, tag="4")]
70    pub initial_cwd: ::core::option::Option<::prost::alloc::string::String>,
71}
72#[allow(clippy::derive_partial_eq_without_eq)]
73#[derive(Clone, PartialEq, ::prost::Message)]
74pub struct PluginAlias {
75    #[prost(string, tag="1")]
76    pub name: ::prost::alloc::string::String,
77    #[prost(message, optional, tag="2")]
78    pub configuration: ::core::option::Option<PluginUserConfiguration>,
79    #[prost(string, optional, tag="3")]
80    pub initial_cwd: ::core::option::Option<::prost::alloc::string::String>,
81    #[prost(message, optional, tag="4")]
82    pub run_plugin: ::core::option::Option<RunPlugin>,
83}
84#[allow(clippy::derive_partial_eq_without_eq)]
85#[derive(Clone, PartialEq, ::prost::Message)]
86pub struct RunPluginOrAlias {
87    #[prost(oneof="run_plugin_or_alias::PluginType", tags="1, 2")]
88    pub plugin_type: ::core::option::Option<run_plugin_or_alias::PluginType>,
89}
90/// Nested message and enum types in `RunPluginOrAlias`.
91pub mod run_plugin_or_alias {
92    #[allow(clippy::derive_partial_eq_without_eq)]
93#[derive(Clone, PartialEq, ::prost::Oneof)]
94    pub enum PluginType {
95        #[prost(message, tag="1")]
96        Plugin(super::RunPlugin),
97        #[prost(message, tag="2")]
98        Alias(super::PluginAlias),
99    }
100}
101#[allow(clippy::derive_partial_eq_without_eq)]
102#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct RunEditFileAction {
104    #[prost(string, tag="1")]
105    pub file_path: ::prost::alloc::string::String,
106    #[prost(uint32, optional, tag="2")]
107    pub line_number: ::core::option::Option<u32>,
108    #[prost(string, optional, tag="3")]
109    pub cwd: ::core::option::Option<::prost::alloc::string::String>,
110}
111#[allow(clippy::derive_partial_eq_without_eq)]
112#[derive(Clone, PartialEq, ::prost::Message)]
113pub struct PaneRun {
114    #[prost(oneof="pane_run::RunType", tags="1, 2, 3, 4")]
115    pub run_type: ::core::option::Option<pane_run::RunType>,
116}
117/// Nested message and enum types in `PaneRun`.
118pub mod pane_run {
119    #[allow(clippy::derive_partial_eq_without_eq)]
120#[derive(Clone, PartialEq, ::prost::Oneof)]
121    pub enum RunType {
122        #[prost(message, tag="1")]
123        Command(super::RunCommandAction),
124        #[prost(message, tag="2")]
125        Plugin(super::RunPluginOrAlias),
126        #[prost(message, tag="3")]
127        EditFile(super::RunEditFileAction),
128        #[prost(string, tag="4")]
129        Cwd(::prost::alloc::string::String),
130    }
131}
132#[allow(clippy::derive_partial_eq_without_eq)]
133#[derive(Clone, PartialEq, ::prost::Message)]
134pub struct TiledPaneLayout {
135    #[prost(enumeration="SplitDirection", tag="1")]
136    pub children_split_direction: i32,
137    #[prost(string, optional, tag="2")]
138    pub name: ::core::option::Option<::prost::alloc::string::String>,
139    #[prost(message, repeated, tag="3")]
140    pub children: ::prost::alloc::vec::Vec<TiledPaneLayout>,
141    #[prost(message, optional, tag="4")]
142    pub split_size: ::core::option::Option<SplitSize>,
143    #[prost(message, optional, tag="5")]
144    pub run: ::core::option::Option<PaneRun>,
145    #[prost(bool, tag="6")]
146    pub borderless: bool,
147    #[prost(string, optional, tag="7")]
148    pub focus: ::core::option::Option<::prost::alloc::string::String>,
149    #[prost(bool, optional, tag="8")]
150    pub exclude_from_sync: ::core::option::Option<bool>,
151    #[prost(bool, tag="9")]
152    pub children_are_stacked: bool,
153    #[prost(uint32, optional, tag="10")]
154    pub external_children_index: ::core::option::Option<u32>,
155    #[prost(bool, tag="11")]
156    pub is_expanded_in_stack: bool,
157    #[prost(bool, tag="12")]
158    pub hide_floating_panes: bool,
159    #[prost(string, optional, tag="13")]
160    pub pane_initial_contents: ::core::option::Option<::prost::alloc::string::String>,
161}
162#[allow(clippy::derive_partial_eq_without_eq)]
163#[derive(Clone, PartialEq, ::prost::Message)]
164pub struct FloatingPaneLayout {
165    #[prost(string, optional, tag="1")]
166    pub name: ::core::option::Option<::prost::alloc::string::String>,
167    #[prost(message, optional, tag="2")]
168    pub height: ::core::option::Option<PercentOrFixed>,
169    #[prost(message, optional, tag="3")]
170    pub width: ::core::option::Option<PercentOrFixed>,
171    #[prost(message, optional, tag="4")]
172    pub x: ::core::option::Option<PercentOrFixed>,
173    #[prost(message, optional, tag="5")]
174    pub y: ::core::option::Option<PercentOrFixed>,
175    #[prost(bool, optional, tag="6")]
176    pub pinned: ::core::option::Option<bool>,
177    #[prost(message, optional, tag="7")]
178    pub run: ::core::option::Option<PaneRun>,
179    #[prost(bool, optional, tag="8")]
180    pub focus: ::core::option::Option<bool>,
181    #[prost(bool, tag="9")]
182    pub already_running: bool,
183    #[prost(string, optional, tag="10")]
184    pub pane_initial_contents: ::core::option::Option<::prost::alloc::string::String>,
185    #[prost(uint32, optional, tag="11")]
186    pub logical_position: ::core::option::Option<u32>,
187    #[prost(bool, optional, tag="12")]
188    pub borderless: ::core::option::Option<bool>,
189}
190#[allow(clippy::derive_partial_eq_without_eq)]
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct SwapTiledLayout {
193    #[prost(message, repeated, tag="1")]
194    pub constraint_map: ::prost::alloc::vec::Vec<LayoutConstraintTiledPair>,
195    #[prost(string, optional, tag="2")]
196    pub name: ::core::option::Option<::prost::alloc::string::String>,
197}
198#[allow(clippy::derive_partial_eq_without_eq)]
199#[derive(Clone, PartialEq, ::prost::Message)]
200pub struct SwapFloatingLayout {
201    #[prost(message, repeated, tag="1")]
202    pub constraint_map: ::prost::alloc::vec::Vec<LayoutConstraintFloatingPair>,
203    #[prost(string, optional, tag="2")]
204    pub name: ::core::option::Option<::prost::alloc::string::String>,
205}
206#[allow(clippy::derive_partial_eq_without_eq)]
207#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct LayoutConstraintTiledPair {
209    #[prost(message, optional, tag="1")]
210    pub constraint: ::core::option::Option<LayoutConstraintWithValue>,
211    #[prost(message, optional, tag="2")]
212    pub layout: ::core::option::Option<TiledPaneLayout>,
213}
214#[allow(clippy::derive_partial_eq_without_eq)]
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct LayoutConstraintFloatingPair {
217    #[prost(message, optional, tag="1")]
218    pub constraint: ::core::option::Option<LayoutConstraintWithValue>,
219    #[prost(message, repeated, tag="2")]
220    pub layouts: ::prost::alloc::vec::Vec<FloatingPaneLayout>,
221}
222#[allow(clippy::derive_partial_eq_without_eq)]
223#[derive(Clone, PartialEq, ::prost::Message)]
224pub struct CommandOrPluginFile {
225    #[prost(string, tag="1")]
226    pub path: ::prost::alloc::string::String,
227    #[prost(int32, optional, tag="2")]
228    pub line_number: ::core::option::Option<i32>,
229    #[prost(string, optional, tag="3")]
230    pub cwd: ::core::option::Option<::prost::alloc::string::String>,
231}
232#[allow(clippy::derive_partial_eq_without_eq)]
233#[derive(Clone, PartialEq, ::prost::Message)]
234pub struct CommandOrPlugin {
235    #[prost(oneof="command_or_plugin::CommandOrPluginType", tags="1, 2, 3")]
236    pub command_or_plugin_type: ::core::option::Option<command_or_plugin::CommandOrPluginType>,
237}
238/// Nested message and enum types in `CommandOrPlugin`.
239pub mod command_or_plugin {
240    #[allow(clippy::derive_partial_eq_without_eq)]
241#[derive(Clone, PartialEq, ::prost::Oneof)]
242    pub enum CommandOrPluginType {
243        #[prost(message, tag="1")]
244        Command(super::RunCommandAction),
245        #[prost(message, tag="2")]
246        Plugin(super::RunPluginOrAlias),
247        #[prost(message, tag="3")]
248        File(super::CommandOrPluginFile),
249    }
250}
251#[allow(clippy::derive_partial_eq_without_eq)]
252#[derive(Clone, PartialEq, ::prost::Message)]
253pub struct NewTabPayload {
254    #[prost(message, optional, tag="1")]
255    pub tiled_layout: ::core::option::Option<TiledPaneLayout>,
256    #[prost(message, repeated, tag="2")]
257    pub floating_layouts: ::prost::alloc::vec::Vec<FloatingPaneLayout>,
258    #[prost(message, repeated, tag="3")]
259    pub swap_tiled_layouts: ::prost::alloc::vec::Vec<SwapTiledLayout>,
260    #[prost(message, repeated, tag="4")]
261    pub swap_floating_layouts: ::prost::alloc::vec::Vec<SwapFloatingLayout>,
262    #[prost(string, optional, tag="5")]
263    pub tab_name: ::core::option::Option<::prost::alloc::string::String>,
264    #[prost(bool, tag="6")]
265    pub should_change_focus_to_new_tab: bool,
266    #[prost(string, optional, tag="7")]
267    pub cwd: ::core::option::Option<::prost::alloc::string::String>,
268    #[prost(message, repeated, tag="8")]
269    pub initial_panes: ::prost::alloc::vec::Vec<CommandOrPlugin>,
270    #[prost(enumeration="UnblockCondition", optional, tag="9")]
271    pub first_pane_unblock_condition: ::core::option::Option<i32>,
272}
273#[allow(clippy::derive_partial_eq_without_eq)]
274#[derive(Clone, PartialEq, ::prost::Message)]
275pub struct TabLayoutInfo {
276    #[prost(uint32, tag="1")]
277    pub tab_index: u32,
278    #[prost(string, optional, tag="2")]
279    pub tab_name: ::core::option::Option<::prost::alloc::string::String>,
280    #[prost(message, optional, tag="3")]
281    pub tiled_layout: ::core::option::Option<TiledPaneLayout>,
282    #[prost(message, repeated, tag="4")]
283    pub floating_layouts: ::prost::alloc::vec::Vec<FloatingPaneLayout>,
284    #[prost(message, repeated, tag="5")]
285    pub swap_tiled_layouts: ::prost::alloc::vec::Vec<SwapTiledLayout>,
286    #[prost(message, repeated, tag="6")]
287    pub swap_floating_layouts: ::prost::alloc::vec::Vec<SwapFloatingLayout>,
288}
289#[allow(clippy::derive_partial_eq_without_eq)]
290#[derive(Clone, PartialEq, ::prost::Message)]
291pub struct OverrideLayoutPayload {
292    #[prost(message, repeated, tag="1")]
293    pub tabs: ::prost::alloc::vec::Vec<TabLayoutInfo>,
294    #[prost(bool, tag="2")]
295    pub retain_existing_terminal_panes: bool,
296    #[prost(bool, tag="3")]
297    pub retain_existing_plugin_panes: bool,
298    #[prost(bool, tag="4")]
299    pub apply_only_to_active_tab: bool,
300}
301#[allow(clippy::derive_partial_eq_without_eq)]
302#[derive(Clone, PartialEq, ::prost::Message)]
303pub struct Action {
304    #[prost(enumeration="ActionName", tag="1")]
305    pub name: i32,
306    #[prost(oneof="action::OptionalPayload", tags="2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61")]
307    pub optional_payload: ::core::option::Option<action::OptionalPayload>,
308}
309/// Nested message and enum types in `Action`.
310pub mod action {
311    #[allow(clippy::derive_partial_eq_without_eq)]
312#[derive(Clone, PartialEq, ::prost::Oneof)]
313    pub enum OptionalPayload {
314        #[prost(message, tag="2")]
315        SwitchToModePayload(super::SwitchToModePayload),
316        #[prost(message, tag="3")]
317        WritePayload(super::WritePayload),
318        #[prost(message, tag="4")]
319        WriteCharsPayload(super::WriteCharsPayload),
320        #[prost(message, tag="5")]
321        SwitchModeForAllClientsPayload(super::SwitchToModePayload),
322        #[prost(message, tag="6")]
323        ResizePayload(super::super::resize::Resize),
324        #[prost(enumeration="super::super::resize::ResizeDirection", tag="7")]
325        MoveFocusPayload(i32),
326        #[prost(enumeration="super::super::resize::ResizeDirection", tag="8")]
327        MoveFocusOrTabPayload(i32),
328        #[prost(message, tag="9")]
329        MovePanePayload(super::MovePanePayload),
330        #[prost(message, tag="10")]
331        DumpScreenPayload(super::DumpScreenPayload),
332        #[prost(message, tag="11")]
333        ScrollUpAtPayload(super::ScrollAtPayload),
334        #[prost(message, tag="12")]
335        ScrollDownAtPayload(super::ScrollAtPayload),
336        #[prost(message, tag="13")]
337        NewPanePayload(super::NewPanePayload),
338        #[prost(message, tag="14")]
339        EditFilePayload(super::EditFilePayload),
340        #[prost(message, tag="15")]
341        NewFloatingPanePayload(super::NewFloatingPanePayload),
342        #[prost(message, tag="16")]
343        NewTiledPanePayload(super::NewTiledPanePayload),
344        #[prost(bytes, tag="17")]
345        PaneNameInputPayload(::prost::alloc::vec::Vec<u8>),
346        #[prost(uint32, tag="18")]
347        GoToTabPayload(u32),
348        #[prost(message, tag="19")]
349        GoToTabNamePayload(super::GoToTabNamePayload),
350        #[prost(bytes, tag="20")]
351        TabNameInputPayload(::prost::alloc::vec::Vec<u8>),
352        #[prost(message, tag="21")]
353        RunPayload(super::RunCommandAction),
354        #[prost(message, tag="22")]
355        LeftClickPayload(super::Position),
356        #[prost(message, tag="23")]
357        RightClickPayload(super::Position),
358        #[prost(message, tag="24")]
359        MiddleClickPayload(super::Position),
360        #[prost(message, tag="25")]
361        LaunchOrFocusPluginPayload(super::LaunchOrFocusPluginPayload),
362        #[prost(message, tag="26")]
363        LeftMouseReleasePayload(super::Position),
364        #[prost(message, tag="27")]
365        RightMouseReleasePayload(super::Position),
366        #[prost(message, tag="28")]
367        MiddleMouseReleasePayload(super::Position),
368        #[prost(bytes, tag="32")]
369        SearchInputPayload(::prost::alloc::vec::Vec<u8>),
370        #[prost(enumeration="super::SearchDirection", tag="33")]
371        SearchPayload(i32),
372        #[prost(enumeration="super::SearchOption", tag="34")]
373        SearchToggleOptionPayload(i32),
374        #[prost(message, tag="35")]
375        NewTiledPluginPanePayload(super::NewPluginPanePayload),
376        #[prost(message, tag="36")]
377        NewFloatingPluginPanePayload(super::NewPluginPanePayload),
378        #[prost(string, tag="37")]
379        StartOrReloadPluginPayload(::prost::alloc::string::String),
380        #[prost(uint32, tag="38")]
381        CloseTerminalPanePayload(u32),
382        #[prost(uint32, tag="39")]
383        ClosePluginPanePayload(u32),
384        #[prost(message, tag="40")]
385        FocusTerminalPaneWithIdPayload(super::PaneIdAndShouldFloat),
386        #[prost(message, tag="41")]
387        FocusPluginPaneWithIdPayload(super::PaneIdAndShouldFloat),
388        #[prost(message, tag="42")]
389        RenameTerminalPanePayload(super::IdAndName),
390        #[prost(message, tag="43")]
391        RenamePluginPanePayload(super::IdAndName),
392        #[prost(message, tag="44")]
393        RenameTabPayload(super::IdAndName),
394        #[prost(string, tag="45")]
395        RenameSessionPayload(::prost::alloc::string::String),
396        #[prost(message, tag="46")]
397        LaunchPluginPayload(super::LaunchOrFocusPluginPayload),
398        #[prost(message, tag="47")]
399        MessagePayload(super::CliPipePayload),
400        #[prost(enumeration="super::MoveTabDirection", tag="48")]
401        MoveTabPayload(i32),
402        #[prost(message, tag="49")]
403        MouseEventPayload(super::MouseEventPayload),
404        #[prost(message, tag="50")]
405        NewBlockingPanePayload(super::NewBlockingPanePayload),
406        #[prost(message, tag="51")]
407        NewTabPayload(super::NewTabPayload),
408        #[prost(message, tag="52")]
409        NewInPlacePanePayload(super::NewInPlacePanePayload),
410        #[prost(message, tag="53")]
411        OverrideLayoutPayload(super::OverrideLayoutPayload),
412        #[prost(message, tag="54")]
413        SetPaneBorderlessPayload(super::SetPaneBorderlessPayload),
414        #[prost(uint64, tag="55")]
415        GoToTabByIdPayload(u64),
416        #[prost(uint64, tag="56")]
417        CloseTabByIdPayload(u64),
418        #[prost(message, tag="57")]
419        RenameTabByIdPayload(super::TabIdAndName),
420        #[prost(message, tag="58")]
421        ShowFloatingPanesPayload(super::ShowFloatingPanesPayload),
422        #[prost(message, tag="59")]
423        HideFloatingPanesPayload(super::HideFloatingPanesPayload),
424        #[prost(message, tag="60")]
425        AreFloatingPanesVisiblePayload(super::AreFloatingPanesVisiblePayload),
426        #[prost(message, tag="61")]
427        SetPaneFrameStylePayload(super::SetPaneFrameStylePayload),
428    }
429}
430#[allow(clippy::derive_partial_eq_without_eq)]
431#[derive(Clone, PartialEq, ::prost::Message)]
432pub struct SetPaneFrameStylePayload {
433    #[prost(enumeration="super::pane_frame_style::PaneFrameStyle", tag="1")]
434    pub pane_frame_style: i32,
435}
436#[allow(clippy::derive_partial_eq_without_eq)]
437#[derive(Clone, PartialEq, ::prost::Message)]
438pub struct CliPipePayload {
439    #[prost(string, optional, tag="1")]
440    pub name: ::core::option::Option<::prost::alloc::string::String>,
441    #[prost(string, tag="2")]
442    pub payload: ::prost::alloc::string::String,
443    #[prost(message, repeated, tag="3")]
444    pub args: ::prost::alloc::vec::Vec<NameAndValue>,
445    #[prost(string, optional, tag="4")]
446    pub plugin: ::core::option::Option<::prost::alloc::string::String>,
447}
448#[allow(clippy::derive_partial_eq_without_eq)]
449#[derive(Clone, PartialEq, ::prost::Message)]
450pub struct IdAndName {
451    #[prost(bytes="vec", tag="1")]
452    pub name: ::prost::alloc::vec::Vec<u8>,
453    #[prost(uint32, tag="2")]
454    pub id: u32,
455}
456#[allow(clippy::derive_partial_eq_without_eq)]
457#[derive(Clone, PartialEq, ::prost::Message)]
458pub struct TabIdAndName {
459    #[prost(uint64, tag="1")]
460    pub tab_id: u64,
461    #[prost(string, tag="2")]
462    pub name: ::prost::alloc::string::String,
463}
464#[allow(clippy::derive_partial_eq_without_eq)]
465#[derive(Clone, PartialEq, ::prost::Message)]
466pub struct ShowFloatingPanesPayload {
467    #[prost(uint32, optional, tag="1")]
468    pub tab_id: ::core::option::Option<u32>,
469}
470#[allow(clippy::derive_partial_eq_without_eq)]
471#[derive(Clone, PartialEq, ::prost::Message)]
472pub struct HideFloatingPanesPayload {
473    #[prost(uint32, optional, tag="1")]
474    pub tab_id: ::core::option::Option<u32>,
475}
476#[allow(clippy::derive_partial_eq_without_eq)]
477#[derive(Clone, PartialEq, ::prost::Message)]
478pub struct AreFloatingPanesVisiblePayload {
479    #[prost(uint32, optional, tag="1")]
480    pub tab_id: ::core::option::Option<u32>,
481}
482#[allow(clippy::derive_partial_eq_without_eq)]
483#[derive(Clone, PartialEq, ::prost::Message)]
484pub struct PaneIdAndShouldFloat {
485    #[prost(uint32, tag="1")]
486    pub pane_id: u32,
487    #[prost(bool, tag="2")]
488    pub should_float: bool,
489    #[prost(bool, tag="3")]
490    pub should_be_in_place: bool,
491}
492#[allow(clippy::derive_partial_eq_without_eq)]
493#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct NewPluginPanePayload {
495    #[prost(string, tag="1")]
496    pub plugin_url: ::prost::alloc::string::String,
497    #[prost(string, optional, tag="2")]
498    pub pane_name: ::core::option::Option<::prost::alloc::string::String>,
499    #[prost(bool, tag="3")]
500    pub skip_plugin_cache: bool,
501}
502#[allow(clippy::derive_partial_eq_without_eq)]
503#[derive(Clone, PartialEq, ::prost::Message)]
504pub struct LaunchOrFocusPluginPayload {
505    #[prost(string, tag="1")]
506    pub plugin_url: ::prost::alloc::string::String,
507    #[prost(bool, tag="2")]
508    pub should_float: bool,
509    #[prost(message, optional, tag="3")]
510    pub plugin_configuration: ::core::option::Option<PluginConfiguration>,
511    #[prost(bool, tag="4")]
512    pub move_to_focused_tab: bool,
513    #[prost(bool, tag="5")]
514    pub should_open_in_place: bool,
515    #[prost(bool, tag="6")]
516    pub skip_plugin_cache: bool,
517}
518#[allow(clippy::derive_partial_eq_without_eq)]
519#[derive(Clone, PartialEq, ::prost::Message)]
520pub struct GoToTabNamePayload {
521    #[prost(string, tag="1")]
522    pub tab_name: ::prost::alloc::string::String,
523    #[prost(bool, tag="2")]
524    pub create: bool,
525}
526#[allow(clippy::derive_partial_eq_without_eq)]
527#[derive(Clone, PartialEq, ::prost::Message)]
528pub struct NewFloatingPanePayload {
529    #[prost(message, optional, tag="1")]
530    pub command: ::core::option::Option<RunCommandAction>,
531    #[prost(bool, tag="2")]
532    pub near_current_pane: bool,
533}
534#[allow(clippy::derive_partial_eq_without_eq)]
535#[derive(Clone, PartialEq, ::prost::Message)]
536pub struct NewTiledPanePayload {
537    #[prost(message, optional, tag="1")]
538    pub command: ::core::option::Option<RunCommandAction>,
539    #[prost(enumeration="super::resize::ResizeDirection", optional, tag="2")]
540    pub direction: ::core::option::Option<i32>,
541    #[prost(bool, tag="3")]
542    pub near_current_pane: bool,
543    #[prost(bool, optional, tag="4")]
544    pub borderless: ::core::option::Option<bool>,
545}
546#[allow(clippy::derive_partial_eq_without_eq)]
547#[derive(Clone, PartialEq, ::prost::Message)]
548pub struct MovePanePayload {
549    #[prost(enumeration="super::resize::ResizeDirection", optional, tag="1")]
550    pub direction: ::core::option::Option<i32>,
551}
552#[allow(clippy::derive_partial_eq_without_eq)]
553#[derive(Clone, PartialEq, ::prost::Message)]
554pub struct EditFilePayload {
555    #[prost(string, tag="1")]
556    pub file_to_edit: ::prost::alloc::string::String,
557    #[prost(uint32, optional, tag="2")]
558    pub line_number: ::core::option::Option<u32>,
559    #[prost(string, optional, tag="3")]
560    pub cwd: ::core::option::Option<::prost::alloc::string::String>,
561    #[prost(enumeration="super::resize::ResizeDirection", optional, tag="4")]
562    pub direction: ::core::option::Option<i32>,
563    #[prost(bool, tag="5")]
564    pub should_float: bool,
565    #[prost(bool, tag="6")]
566    pub near_current_pane: bool,
567}
568#[allow(clippy::derive_partial_eq_without_eq)]
569#[derive(Clone, PartialEq, ::prost::Message)]
570pub struct ScrollAtPayload {
571    #[prost(message, optional, tag="1")]
572    pub position: ::core::option::Option<Position>,
573}
574#[allow(clippy::derive_partial_eq_without_eq)]
575#[derive(Clone, PartialEq, ::prost::Message)]
576pub struct NewPanePayload {
577    #[prost(enumeration="super::resize::ResizeDirection", optional, tag="1")]
578    pub direction: ::core::option::Option<i32>,
579    #[prost(string, optional, tag="2")]
580    pub pane_name: ::core::option::Option<::prost::alloc::string::String>,
581}
582#[allow(clippy::derive_partial_eq_without_eq)]
583#[derive(Clone, PartialEq, ::prost::Message)]
584pub struct NewBlockingPanePayload {
585    #[prost(message, optional, tag="1")]
586    pub placement: ::core::option::Option<NewPanePlacement>,
587    #[prost(string, optional, tag="2")]
588    pub pane_name: ::core::option::Option<::prost::alloc::string::String>,
589    #[prost(message, optional, tag="3")]
590    pub command: ::core::option::Option<RunCommandAction>,
591    #[prost(enumeration="UnblockCondition", optional, tag="4")]
592    pub unblock_condition: ::core::option::Option<i32>,
593    #[prost(bool, tag="5")]
594    pub near_current_pane: bool,
595}
596#[allow(clippy::derive_partial_eq_without_eq)]
597#[derive(Clone, PartialEq, ::prost::Message)]
598pub struct NewInPlacePanePayload {
599    #[prost(message, optional, tag="1")]
600    pub command: ::core::option::Option<RunCommandAction>,
601    #[prost(string, optional, tag="2")]
602    pub pane_name: ::core::option::Option<::prost::alloc::string::String>,
603    #[prost(bool, tag="3")]
604    pub near_current_pane: bool,
605    #[prost(message, optional, tag="4")]
606    pub pane_id_to_replace: ::core::option::Option<PaneId>,
607    #[prost(bool, tag="5")]
608    pub close_replace_pane: bool,
609}
610#[allow(clippy::derive_partial_eq_without_eq)]
611#[derive(Clone, PartialEq, ::prost::Message)]
612pub struct SwitchToModePayload {
613    #[prost(enumeration="super::input_mode::InputMode", tag="1")]
614    pub input_mode: i32,
615}
616#[allow(clippy::derive_partial_eq_without_eq)]
617#[derive(Clone, PartialEq, ::prost::Message)]
618pub struct WritePayload {
619    #[prost(bytes="vec", tag="1")]
620    pub bytes_to_write: ::prost::alloc::vec::Vec<u8>,
621    #[prost(message, optional, tag="2")]
622    pub key_with_modifier: ::core::option::Option<KeyWithModifier>,
623    #[prost(bool, tag="3")]
624    pub is_kitty_keyboard_protocol: bool,
625}
626#[allow(clippy::derive_partial_eq_without_eq)]
627#[derive(Clone, PartialEq, ::prost::Message)]
628pub struct WriteCharsPayload {
629    #[prost(string, tag="1")]
630    pub chars: ::prost::alloc::string::String,
631}
632#[allow(clippy::derive_partial_eq_without_eq)]
633#[derive(Clone, PartialEq, ::prost::Message)]
634pub struct DumpScreenPayload {
635    #[prost(string, tag="1")]
636    pub file_path: ::prost::alloc::string::String,
637    #[prost(bool, tag="2")]
638    pub include_scrollback: bool,
639    #[prost(message, optional, tag="3")]
640    pub pane_id: ::core::option::Option<PaneId>,
641    #[prost(bool, tag="4")]
642    pub dump_to_stdout: bool,
643    #[prost(bool, tag="5")]
644    pub ansi: bool,
645}
646#[allow(clippy::derive_partial_eq_without_eq)]
647#[derive(Clone, PartialEq, ::prost::Message)]
648pub struct Position {
649    #[prost(int64, tag="1")]
650    pub line: i64,
651    #[prost(int64, tag="2")]
652    pub column: i64,
653}
654/// SplitSize represents a dimension that can be either a percentage or fixed size
655#[allow(clippy::derive_partial_eq_without_eq)]
656#[derive(Clone, PartialEq, ::prost::Message)]
657pub struct SplitSize {
658    #[prost(oneof="split_size::SplitSizeVariant", tags="1, 2")]
659    pub split_size_variant: ::core::option::Option<split_size::SplitSizeVariant>,
660}
661/// Nested message and enum types in `SplitSize`.
662pub mod split_size {
663    #[allow(clippy::derive_partial_eq_without_eq)]
664#[derive(Clone, PartialEq, ::prost::Oneof)]
665    pub enum SplitSizeVariant {
666        /// 1 to 100
667        #[prost(uint32, tag="1")]
668        Percent(u32),
669        /// absolute number of columns or rows
670        #[prost(uint32, tag="2")]
671        Fixed(u32),
672    }
673}
674/// PaneId identifies either a terminal or plugin pane
675#[allow(clippy::derive_partial_eq_without_eq)]
676#[derive(Clone, PartialEq, ::prost::Message)]
677pub struct PaneId {
678    #[prost(oneof="pane_id::PaneIdVariant", tags="1, 2")]
679    pub pane_id_variant: ::core::option::Option<pane_id::PaneIdVariant>,
680}
681/// Nested message and enum types in `PaneId`.
682pub mod pane_id {
683    #[allow(clippy::derive_partial_eq_without_eq)]
684#[derive(Clone, PartialEq, ::prost::Oneof)]
685    pub enum PaneIdVariant {
686        #[prost(uint32, tag="1")]
687        Terminal(u32),
688        #[prost(uint32, tag="2")]
689        Plugin(u32),
690    }
691}
692/// FloatingPaneCoordinates specifies the position and size of a floating pane
693#[allow(clippy::derive_partial_eq_without_eq)]
694#[derive(Clone, PartialEq, ::prost::Message)]
695pub struct FloatingPaneCoordinates {
696    #[prost(message, optional, tag="1")]
697    pub x: ::core::option::Option<SplitSize>,
698    #[prost(message, optional, tag="2")]
699    pub y: ::core::option::Option<SplitSize>,
700    #[prost(message, optional, tag="3")]
701    pub width: ::core::option::Option<SplitSize>,
702    #[prost(message, optional, tag="4")]
703    pub height: ::core::option::Option<SplitSize>,
704    #[prost(bool, optional, tag="5")]
705    pub pinned: ::core::option::Option<bool>,
706    #[prost(bool, optional, tag="6")]
707    pub borderless: ::core::option::Option<bool>,
708}
709/// SetPaneBorderlessPayload specifies the pane and borderless state
710#[allow(clippy::derive_partial_eq_without_eq)]
711#[derive(Clone, PartialEq, ::prost::Message)]
712pub struct SetPaneBorderlessPayload {
713    #[prost(message, optional, tag="1")]
714    pub pane_id: ::core::option::Option<PaneId>,
715    #[prost(bool, tag="2")]
716    pub borderless: bool,
717}
718/// NewPanePlacement specifies where a new pane should be placed
719#[allow(clippy::derive_partial_eq_without_eq)]
720#[derive(Clone, PartialEq, ::prost::Message)]
721pub struct NewPanePlacement {
722    #[prost(oneof="new_pane_placement::PlacementVariant", tags="1, 2, 3, 4, 5")]
723    pub placement_variant: ::core::option::Option<new_pane_placement::PlacementVariant>,
724}
725/// Nested message and enum types in `NewPanePlacement`.
726pub mod new_pane_placement {
727    #[allow(clippy::derive_partial_eq_without_eq)]
728#[derive(Clone, PartialEq, ::prost::Oneof)]
729    pub enum PlacementVariant {
730        #[prost(message, tag="1")]
731        NoPreference(super::NoPreferenceOptions),
732        #[prost(message, tag="2")]
733        Tiled(super::TiledPlacement),
734        #[prost(message, tag="3")]
735        Floating(super::FloatingPlacement),
736        #[prost(message, tag="4")]
737        InPlace(super::InPlaceConfig),
738        #[prost(message, tag="5")]
739        Stacked(super::StackedPlacement),
740    }
741}
742#[allow(clippy::derive_partial_eq_without_eq)]
743#[derive(Clone, PartialEq, ::prost::Message)]
744pub struct NoPreferenceOptions {
745    #[prost(bool, optional, tag="1")]
746    pub borderless: ::core::option::Option<bool>,
747}
748#[allow(clippy::derive_partial_eq_without_eq)]
749#[derive(Clone, PartialEq, ::prost::Message)]
750pub struct TiledPlacement {
751    #[prost(enumeration="super::resize::ResizeDirection", optional, tag="1")]
752    pub direction: ::core::option::Option<i32>,
753    #[prost(bool, optional, tag="2")]
754    pub borderless: ::core::option::Option<bool>,
755}
756#[allow(clippy::derive_partial_eq_without_eq)]
757#[derive(Clone, PartialEq, ::prost::Message)]
758pub struct FloatingPlacement {
759    #[prost(message, optional, tag="1")]
760    pub coordinates: ::core::option::Option<FloatingPaneCoordinates>,
761}
762#[allow(clippy::derive_partial_eq_without_eq)]
763#[derive(Clone, PartialEq, ::prost::Message)]
764pub struct InPlaceConfig {
765    #[prost(message, optional, tag="1")]
766    pub pane_id_to_replace: ::core::option::Option<PaneId>,
767    #[prost(bool, tag="2")]
768    pub close_replaced_pane: bool,
769    #[prost(bool, optional, tag="3")]
770    pub borderless: ::core::option::Option<bool>,
771}
772#[allow(clippy::derive_partial_eq_without_eq)]
773#[derive(Clone, PartialEq, ::prost::Message)]
774pub struct StackedPlacement {
775    #[prost(message, optional, tag="1")]
776    pub pane_id: ::core::option::Option<PaneId>,
777    #[prost(bool, optional, tag="2")]
778    pub borderless: ::core::option::Option<bool>,
779}
780#[allow(clippy::derive_partial_eq_without_eq)]
781#[derive(Clone, PartialEq, ::prost::Message)]
782pub struct MouseEventPayload {
783    #[prost(uint32, tag="1")]
784    pub event_type: u32,
785    #[prost(bool, tag="2")]
786    pub left: bool,
787    #[prost(bool, tag="3")]
788    pub right: bool,
789    #[prost(bool, tag="4")]
790    pub middle: bool,
791    #[prost(bool, tag="5")]
792    pub wheel_up: bool,
793    #[prost(bool, tag="6")]
794    pub wheel_down: bool,
795    #[prost(bool, tag="7")]
796    pub shift: bool,
797    #[prost(bool, tag="8")]
798    pub alt: bool,
799    #[prost(bool, tag="9")]
800    pub ctrl: bool,
801    #[prost(int64, tag="10")]
802    pub line: i64,
803    #[prost(int64, tag="11")]
804    pub column: i64,
805    #[prost(bool, tag="12")]
806    pub wheel_left: bool,
807    #[prost(bool, tag="13")]
808    pub wheel_right: bool,
809}
810#[allow(clippy::derive_partial_eq_without_eq)]
811#[derive(Clone, PartialEq, ::prost::Message)]
812pub struct RunCommandAction {
813    #[prost(string, tag="1")]
814    pub command: ::prost::alloc::string::String,
815    #[prost(string, repeated, tag="2")]
816    pub args: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
817    #[prost(string, optional, tag="3")]
818    pub cwd: ::core::option::Option<::prost::alloc::string::String>,
819    #[prost(enumeration="super::resize::ResizeDirection", optional, tag="4")]
820    pub direction: ::core::option::Option<i32>,
821    #[prost(string, optional, tag="5")]
822    pub pane_name: ::core::option::Option<::prost::alloc::string::String>,
823    #[prost(bool, tag="6")]
824    pub hold_on_close: bool,
825    #[prost(bool, tag="7")]
826    pub hold_on_start: bool,
827}
828#[allow(clippy::derive_partial_eq_without_eq)]
829#[derive(Clone, PartialEq, ::prost::Message)]
830pub struct PluginConfiguration {
831    #[prost(message, repeated, tag="1")]
832    pub name_and_value: ::prost::alloc::vec::Vec<NameAndValue>,
833}
834#[allow(clippy::derive_partial_eq_without_eq)]
835#[derive(Clone, PartialEq, ::prost::Message)]
836pub struct NameAndValue {
837    #[prost(string, tag="1")]
838    pub name: ::prost::alloc::string::String,
839    #[prost(string, tag="2")]
840    pub value: ::prost::alloc::string::String,
841}
842#[allow(clippy::derive_partial_eq_without_eq)]
843#[derive(Clone, PartialEq, ::prost::Message)]
844pub struct KeyWithModifier {
845    #[prost(enumeration="BareKey", tag="1")]
846    pub bare_key: i32,
847    #[prost(enumeration="KeyModifier", repeated, tag="2")]
848    pub key_modifiers: ::prost::alloc::vec::Vec<i32>,
849    /// Only set when bare_key is CHAR
850    #[prost(string, optional, tag="3")]
851    pub character: ::core::option::Option<::prost::alloc::string::String>,
852}
853// Layout and related types
854
855#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
856#[repr(i32)]
857pub enum SplitDirection {
858    Unspecified = 0,
859    Horizontal = 1,
860    Vertical = 2,
861}
862impl SplitDirection {
863    /// String value of the enum field names used in the ProtoBuf definition.
864    ///
865    /// The values are not transformed in any way and thus are considered stable
866    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
867    pub fn as_str_name(&self) -> &'static str {
868        match self {
869            SplitDirection::Unspecified => "SPLIT_DIRECTION_UNSPECIFIED",
870            SplitDirection::Horizontal => "SPLIT_DIRECTION_HORIZONTAL",
871            SplitDirection::Vertical => "SPLIT_DIRECTION_VERTICAL",
872        }
873    }
874    /// Creates an enum from field names used in the ProtoBuf definition.
875    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
876        match value {
877            "SPLIT_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
878            "SPLIT_DIRECTION_HORIZONTAL" => Some(Self::Horizontal),
879            "SPLIT_DIRECTION_VERTICAL" => Some(Self::Vertical),
880            _ => None,
881        }
882    }
883}
884#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
885#[repr(i32)]
886pub enum LayoutConstraint {
887    Unspecified = 0,
888    MaxPanes = 1,
889    MinPanes = 2,
890    ExactPanes = 3,
891    NoConstraint = 4,
892}
893impl LayoutConstraint {
894    /// String value of the enum field names used in the ProtoBuf definition.
895    ///
896    /// The values are not transformed in any way and thus are considered stable
897    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
898    pub fn as_str_name(&self) -> &'static str {
899        match self {
900            LayoutConstraint::Unspecified => "LAYOUT_CONSTRAINT_UNSPECIFIED",
901            LayoutConstraint::MaxPanes => "LAYOUT_CONSTRAINT_MAX_PANES",
902            LayoutConstraint::MinPanes => "LAYOUT_CONSTRAINT_MIN_PANES",
903            LayoutConstraint::ExactPanes => "LAYOUT_CONSTRAINT_EXACT_PANES",
904            LayoutConstraint::NoConstraint => "LAYOUT_CONSTRAINT_NO_CONSTRAINT",
905        }
906    }
907    /// Creates an enum from field names used in the ProtoBuf definition.
908    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
909        match value {
910            "LAYOUT_CONSTRAINT_UNSPECIFIED" => Some(Self::Unspecified),
911            "LAYOUT_CONSTRAINT_MAX_PANES" => Some(Self::MaxPanes),
912            "LAYOUT_CONSTRAINT_MIN_PANES" => Some(Self::MinPanes),
913            "LAYOUT_CONSTRAINT_EXACT_PANES" => Some(Self::ExactPanes),
914            "LAYOUT_CONSTRAINT_NO_CONSTRAINT" => Some(Self::NoConstraint),
915            _ => None,
916        }
917    }
918}
919#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
920#[repr(i32)]
921pub enum RunPluginLocation {
922    Unspecified = 0,
923    File = 1,
924    Zellij = 2,
925    Remote = 3,
926}
927impl RunPluginLocation {
928    /// String value of the enum field names used in the ProtoBuf definition.
929    ///
930    /// The values are not transformed in any way and thus are considered stable
931    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
932    pub fn as_str_name(&self) -> &'static str {
933        match self {
934            RunPluginLocation::Unspecified => "RUN_PLUGIN_LOCATION_UNSPECIFIED",
935            RunPluginLocation::File => "RUN_PLUGIN_LOCATION_FILE",
936            RunPluginLocation::Zellij => "RUN_PLUGIN_LOCATION_ZELLIJ",
937            RunPluginLocation::Remote => "RUN_PLUGIN_LOCATION_REMOTE",
938        }
939    }
940    /// Creates an enum from field names used in the ProtoBuf definition.
941    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
942        match value {
943            "RUN_PLUGIN_LOCATION_UNSPECIFIED" => Some(Self::Unspecified),
944            "RUN_PLUGIN_LOCATION_FILE" => Some(Self::File),
945            "RUN_PLUGIN_LOCATION_ZELLIJ" => Some(Self::Zellij),
946            "RUN_PLUGIN_LOCATION_REMOTE" => Some(Self::Remote),
947            _ => None,
948        }
949    }
950}
951#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
952#[repr(i32)]
953pub enum SearchDirection {
954    Up = 0,
955    Down = 1,
956}
957impl SearchDirection {
958    /// String value of the enum field names used in the ProtoBuf definition.
959    ///
960    /// The values are not transformed in any way and thus are considered stable
961    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
962    pub fn as_str_name(&self) -> &'static str {
963        match self {
964            SearchDirection::Up => "Up",
965            SearchDirection::Down => "Down",
966        }
967    }
968    /// Creates an enum from field names used in the ProtoBuf definition.
969    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
970        match value {
971            "Up" => Some(Self::Up),
972            "Down" => Some(Self::Down),
973            _ => None,
974        }
975    }
976}
977#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
978#[repr(i32)]
979pub enum SearchOption {
980    CaseSensitivity = 0,
981    WholeWord = 1,
982    Wrap = 2,
983}
984impl SearchOption {
985    /// String value of the enum field names used in the ProtoBuf definition.
986    ///
987    /// The values are not transformed in any way and thus are considered stable
988    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
989    pub fn as_str_name(&self) -> &'static str {
990        match self {
991            SearchOption::CaseSensitivity => "CaseSensitivity",
992            SearchOption::WholeWord => "WholeWord",
993            SearchOption::Wrap => "Wrap",
994        }
995    }
996    /// Creates an enum from field names used in the ProtoBuf definition.
997    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
998        match value {
999            "CaseSensitivity" => Some(Self::CaseSensitivity),
1000            "WholeWord" => Some(Self::WholeWord),
1001            "Wrap" => Some(Self::Wrap),
1002            _ => None,
1003        }
1004    }
1005}
1006#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1007#[repr(i32)]
1008pub enum MoveTabDirection {
1009    Left = 0,
1010    Right = 1,
1011}
1012impl MoveTabDirection {
1013    /// String value of the enum field names used in the ProtoBuf definition.
1014    ///
1015    /// The values are not transformed in any way and thus are considered stable
1016    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1017    pub fn as_str_name(&self) -> &'static str {
1018        match self {
1019            MoveTabDirection::Left => "Left",
1020            MoveTabDirection::Right => "Right",
1021        }
1022    }
1023    /// Creates an enum from field names used in the ProtoBuf definition.
1024    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1025        match value {
1026            "Left" => Some(Self::Left),
1027            "Right" => Some(Self::Right),
1028            _ => None,
1029        }
1030    }
1031}
1032#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1033#[repr(i32)]
1034pub enum ActionName {
1035    Quit = 0,
1036    Write = 1,
1037    WriteChars = 2,
1038    SwitchToMode = 3,
1039    SwitchModeForAllClients = 4,
1040    Resize = 5,
1041    FocusNextPane = 6,
1042    FocusPreviousPane = 7,
1043    SwitchFocus = 8,
1044    MoveFocus = 9,
1045    MoveFocusOrTab = 10,
1046    MovePane = 11,
1047    MovePaneBackwards = 12,
1048    ClearScreen = 13,
1049    DumpScreen = 14,
1050    EditScrollback = 15,
1051    ScrollUp = 16,
1052    ScrollUpAt = 17,
1053    ScrollDown = 18,
1054    ScrollDownAt = 19,
1055    ScrollToBottom = 20,
1056    ScrollToTop = 21,
1057    PageScrollUp = 22,
1058    PageScrollDown = 23,
1059    HalfPageScrollUp = 24,
1060    HalfPageScrollDown = 25,
1061    ToggleFocusFullscreen = 26,
1062    TogglePaneFrames = 27,
1063    ToggleActiveSyncTab = 28,
1064    NewPane = 29,
1065    EditFile = 30,
1066    NewFloatingPane = 31,
1067    NewTiledPane = 32,
1068    TogglePaneEmbedOrFloating = 33,
1069    ToggleFloatingPanes = 34,
1070    CloseFocus = 35,
1071    PaneNameInput = 36,
1072    UndoRenamePane = 37,
1073    NewTab = 38,
1074    NoOp = 39,
1075    GoToNextTab = 40,
1076    GoToPreviousTab = 41,
1077    CloseTab = 42,
1078    GoToTab = 43,
1079    GoToTabName = 44,
1080    ToggleTab = 45,
1081    TabNameInput = 46,
1082    UndoRenameTab = 47,
1083    Run = 48,
1084    Detach = 49,
1085    LeftClick = 50,
1086    RightClick = 51,
1087    MiddleClick = 52,
1088    LaunchOrFocusPlugin = 53,
1089    LeftMouseRelease = 54,
1090    RightMouseRelease = 55,
1091    MiddleMouseRelease = 56,
1092    SearchInput = 60,
1093    Search = 61,
1094    SearchToggleOption = 62,
1095    ToggleMouseMode = 63,
1096    PreviousSwapLayout = 64,
1097    NextSwapLayout = 65,
1098    QueryTabNames = 66,
1099    NewTiledPluginPane = 67,
1100    NewFloatingPluginPane = 68,
1101    StartOrReloadPlugin = 69,
1102    CloseTerminalPane = 70,
1103    ClosePluginPane = 71,
1104    FocusTerminalPaneWithId = 72,
1105    FocusPluginPaneWithId = 73,
1106    RenameTerminalPane = 74,
1107    RenamePluginPane = 75,
1108    RenameTab = 76,
1109    BreakPane = 77,
1110    BreakPaneRight = 78,
1111    BreakPaneLeft = 79,
1112    RenameSession = 80,
1113    LaunchPlugin = 81,
1114    CliPipe = 82,
1115    MoveTab = 83,
1116    KeybindPipe = 84,
1117    TogglePanePinned = 85,
1118    MouseEvent = 86,
1119    TogglePaneInGroup = 87,
1120    ToggleGroupMarking = 88,
1121    NewStackedPane = 89,
1122    SwitchSession = 90,
1123    NewBlockingPane = 91,
1124    NewInPlacePane = 92,
1125    OverrideLayout = 93,
1126    SetPaneBorderless = 94,
1127    GoToTabById = 95,
1128    CloseTabById = 96,
1129    RenameTabById = 97,
1130    ShowFloatingPanes = 98,
1131    HideFloatingPanes = 99,
1132    AreFloatingPanesVisible = 100,
1133    SetDarkTheme = 101,
1134    SetLightTheme = 102,
1135    ToggleTheme = 103,
1136    FocusLastPane = 104,
1137    SetPaneFrameStyle = 105,
1138    ToggleFocusNoUiFullscreen = 106,
1139    FocusHostSession = 107,
1140    ToggleHostFullscreen = 108,
1141    FocusGuestSession = 109,
1142    ScrollToPreviousPrompt = 110,
1143    ScrollToNextPrompt = 111,
1144    SelectCommandAtScrollPosition = 112,
1145    CopyLastCommandOutput = 113,
1146}
1147impl ActionName {
1148    /// String value of the enum field names used in the ProtoBuf definition.
1149    ///
1150    /// The values are not transformed in any way and thus are considered stable
1151    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1152    pub fn as_str_name(&self) -> &'static str {
1153        match self {
1154            ActionName::Quit => "Quit",
1155            ActionName::Write => "Write",
1156            ActionName::WriteChars => "WriteChars",
1157            ActionName::SwitchToMode => "SwitchToMode",
1158            ActionName::SwitchModeForAllClients => "SwitchModeForAllClients",
1159            ActionName::Resize => "Resize",
1160            ActionName::FocusNextPane => "FocusNextPane",
1161            ActionName::FocusPreviousPane => "FocusPreviousPane",
1162            ActionName::SwitchFocus => "SwitchFocus",
1163            ActionName::MoveFocus => "MoveFocus",
1164            ActionName::MoveFocusOrTab => "MoveFocusOrTab",
1165            ActionName::MovePane => "MovePane",
1166            ActionName::MovePaneBackwards => "MovePaneBackwards",
1167            ActionName::ClearScreen => "ClearScreen",
1168            ActionName::DumpScreen => "DumpScreen",
1169            ActionName::EditScrollback => "EditScrollback",
1170            ActionName::ScrollUp => "ScrollUp",
1171            ActionName::ScrollUpAt => "ScrollUpAt",
1172            ActionName::ScrollDown => "ScrollDown",
1173            ActionName::ScrollDownAt => "ScrollDownAt",
1174            ActionName::ScrollToBottom => "ScrollToBottom",
1175            ActionName::ScrollToTop => "ScrollToTop",
1176            ActionName::PageScrollUp => "PageScrollUp",
1177            ActionName::PageScrollDown => "PageScrollDown",
1178            ActionName::HalfPageScrollUp => "HalfPageScrollUp",
1179            ActionName::HalfPageScrollDown => "HalfPageScrollDown",
1180            ActionName::ToggleFocusFullscreen => "ToggleFocusFullscreen",
1181            ActionName::TogglePaneFrames => "TogglePaneFrames",
1182            ActionName::ToggleActiveSyncTab => "ToggleActiveSyncTab",
1183            ActionName::NewPane => "NewPane",
1184            ActionName::EditFile => "EditFile",
1185            ActionName::NewFloatingPane => "NewFloatingPane",
1186            ActionName::NewTiledPane => "NewTiledPane",
1187            ActionName::TogglePaneEmbedOrFloating => "TogglePaneEmbedOrFloating",
1188            ActionName::ToggleFloatingPanes => "ToggleFloatingPanes",
1189            ActionName::CloseFocus => "CloseFocus",
1190            ActionName::PaneNameInput => "PaneNameInput",
1191            ActionName::UndoRenamePane => "UndoRenamePane",
1192            ActionName::NewTab => "NewTab",
1193            ActionName::NoOp => "NoOp",
1194            ActionName::GoToNextTab => "GoToNextTab",
1195            ActionName::GoToPreviousTab => "GoToPreviousTab",
1196            ActionName::CloseTab => "CloseTab",
1197            ActionName::GoToTab => "GoToTab",
1198            ActionName::GoToTabName => "GoToTabName",
1199            ActionName::ToggleTab => "ToggleTab",
1200            ActionName::TabNameInput => "TabNameInput",
1201            ActionName::UndoRenameTab => "UndoRenameTab",
1202            ActionName::Run => "Run",
1203            ActionName::Detach => "Detach",
1204            ActionName::LeftClick => "LeftClick",
1205            ActionName::RightClick => "RightClick",
1206            ActionName::MiddleClick => "MiddleClick",
1207            ActionName::LaunchOrFocusPlugin => "LaunchOrFocusPlugin",
1208            ActionName::LeftMouseRelease => "LeftMouseRelease",
1209            ActionName::RightMouseRelease => "RightMouseRelease",
1210            ActionName::MiddleMouseRelease => "MiddleMouseRelease",
1211            ActionName::SearchInput => "SearchInput",
1212            ActionName::Search => "Search",
1213            ActionName::SearchToggleOption => "SearchToggleOption",
1214            ActionName::ToggleMouseMode => "ToggleMouseMode",
1215            ActionName::PreviousSwapLayout => "PreviousSwapLayout",
1216            ActionName::NextSwapLayout => "NextSwapLayout",
1217            ActionName::QueryTabNames => "QueryTabNames",
1218            ActionName::NewTiledPluginPane => "NewTiledPluginPane",
1219            ActionName::NewFloatingPluginPane => "NewFloatingPluginPane",
1220            ActionName::StartOrReloadPlugin => "StartOrReloadPlugin",
1221            ActionName::CloseTerminalPane => "CloseTerminalPane",
1222            ActionName::ClosePluginPane => "ClosePluginPane",
1223            ActionName::FocusTerminalPaneWithId => "FocusTerminalPaneWithId",
1224            ActionName::FocusPluginPaneWithId => "FocusPluginPaneWithId",
1225            ActionName::RenameTerminalPane => "RenameTerminalPane",
1226            ActionName::RenamePluginPane => "RenamePluginPane",
1227            ActionName::RenameTab => "RenameTab",
1228            ActionName::BreakPane => "BreakPane",
1229            ActionName::BreakPaneRight => "BreakPaneRight",
1230            ActionName::BreakPaneLeft => "BreakPaneLeft",
1231            ActionName::RenameSession => "RenameSession",
1232            ActionName::LaunchPlugin => "LaunchPlugin",
1233            ActionName::CliPipe => "CliPipe",
1234            ActionName::MoveTab => "MoveTab",
1235            ActionName::KeybindPipe => "KeybindPipe",
1236            ActionName::TogglePanePinned => "TogglePanePinned",
1237            ActionName::MouseEvent => "MouseEvent",
1238            ActionName::TogglePaneInGroup => "TogglePaneInGroup",
1239            ActionName::ToggleGroupMarking => "ToggleGroupMarking",
1240            ActionName::NewStackedPane => "NewStackedPane",
1241            ActionName::SwitchSession => "SwitchSession",
1242            ActionName::NewBlockingPane => "NewBlockingPane",
1243            ActionName::NewInPlacePane => "NewInPlacePane",
1244            ActionName::OverrideLayout => "OverrideLayout",
1245            ActionName::SetPaneBorderless => "SetPaneBorderless",
1246            ActionName::GoToTabById => "GoToTabById",
1247            ActionName::CloseTabById => "CloseTabById",
1248            ActionName::RenameTabById => "RenameTabById",
1249            ActionName::ShowFloatingPanes => "ShowFloatingPanes",
1250            ActionName::HideFloatingPanes => "HideFloatingPanes",
1251            ActionName::AreFloatingPanesVisible => "AreFloatingPanesVisible",
1252            ActionName::SetDarkTheme => "SetDarkTheme",
1253            ActionName::SetLightTheme => "SetLightTheme",
1254            ActionName::ToggleTheme => "ToggleTheme",
1255            ActionName::FocusLastPane => "FocusLastPane",
1256            ActionName::SetPaneFrameStyle => "SetPaneFrameStyle",
1257            ActionName::ToggleFocusNoUiFullscreen => "ToggleFocusNoUiFullscreen",
1258            ActionName::FocusHostSession => "FocusHostSession",
1259            ActionName::ToggleHostFullscreen => "ToggleHostFullscreen",
1260            ActionName::FocusGuestSession => "FocusGuestSession",
1261            ActionName::ScrollToPreviousPrompt => "ScrollToPreviousPrompt",
1262            ActionName::ScrollToNextPrompt => "ScrollToNextPrompt",
1263            ActionName::SelectCommandAtScrollPosition => "SelectCommandAtScrollPosition",
1264            ActionName::CopyLastCommandOutput => "CopyLastCommandOutput",
1265        }
1266    }
1267    /// Creates an enum from field names used in the ProtoBuf definition.
1268    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1269        match value {
1270            "Quit" => Some(Self::Quit),
1271            "Write" => Some(Self::Write),
1272            "WriteChars" => Some(Self::WriteChars),
1273            "SwitchToMode" => Some(Self::SwitchToMode),
1274            "SwitchModeForAllClients" => Some(Self::SwitchModeForAllClients),
1275            "Resize" => Some(Self::Resize),
1276            "FocusNextPane" => Some(Self::FocusNextPane),
1277            "FocusPreviousPane" => Some(Self::FocusPreviousPane),
1278            "SwitchFocus" => Some(Self::SwitchFocus),
1279            "MoveFocus" => Some(Self::MoveFocus),
1280            "MoveFocusOrTab" => Some(Self::MoveFocusOrTab),
1281            "MovePane" => Some(Self::MovePane),
1282            "MovePaneBackwards" => Some(Self::MovePaneBackwards),
1283            "ClearScreen" => Some(Self::ClearScreen),
1284            "DumpScreen" => Some(Self::DumpScreen),
1285            "EditScrollback" => Some(Self::EditScrollback),
1286            "ScrollUp" => Some(Self::ScrollUp),
1287            "ScrollUpAt" => Some(Self::ScrollUpAt),
1288            "ScrollDown" => Some(Self::ScrollDown),
1289            "ScrollDownAt" => Some(Self::ScrollDownAt),
1290            "ScrollToBottom" => Some(Self::ScrollToBottom),
1291            "ScrollToTop" => Some(Self::ScrollToTop),
1292            "PageScrollUp" => Some(Self::PageScrollUp),
1293            "PageScrollDown" => Some(Self::PageScrollDown),
1294            "HalfPageScrollUp" => Some(Self::HalfPageScrollUp),
1295            "HalfPageScrollDown" => Some(Self::HalfPageScrollDown),
1296            "ToggleFocusFullscreen" => Some(Self::ToggleFocusFullscreen),
1297            "TogglePaneFrames" => Some(Self::TogglePaneFrames),
1298            "ToggleActiveSyncTab" => Some(Self::ToggleActiveSyncTab),
1299            "NewPane" => Some(Self::NewPane),
1300            "EditFile" => Some(Self::EditFile),
1301            "NewFloatingPane" => Some(Self::NewFloatingPane),
1302            "NewTiledPane" => Some(Self::NewTiledPane),
1303            "TogglePaneEmbedOrFloating" => Some(Self::TogglePaneEmbedOrFloating),
1304            "ToggleFloatingPanes" => Some(Self::ToggleFloatingPanes),
1305            "CloseFocus" => Some(Self::CloseFocus),
1306            "PaneNameInput" => Some(Self::PaneNameInput),
1307            "UndoRenamePane" => Some(Self::UndoRenamePane),
1308            "NewTab" => Some(Self::NewTab),
1309            "NoOp" => Some(Self::NoOp),
1310            "GoToNextTab" => Some(Self::GoToNextTab),
1311            "GoToPreviousTab" => Some(Self::GoToPreviousTab),
1312            "CloseTab" => Some(Self::CloseTab),
1313            "GoToTab" => Some(Self::GoToTab),
1314            "GoToTabName" => Some(Self::GoToTabName),
1315            "ToggleTab" => Some(Self::ToggleTab),
1316            "TabNameInput" => Some(Self::TabNameInput),
1317            "UndoRenameTab" => Some(Self::UndoRenameTab),
1318            "Run" => Some(Self::Run),
1319            "Detach" => Some(Self::Detach),
1320            "LeftClick" => Some(Self::LeftClick),
1321            "RightClick" => Some(Self::RightClick),
1322            "MiddleClick" => Some(Self::MiddleClick),
1323            "LaunchOrFocusPlugin" => Some(Self::LaunchOrFocusPlugin),
1324            "LeftMouseRelease" => Some(Self::LeftMouseRelease),
1325            "RightMouseRelease" => Some(Self::RightMouseRelease),
1326            "MiddleMouseRelease" => Some(Self::MiddleMouseRelease),
1327            "SearchInput" => Some(Self::SearchInput),
1328            "Search" => Some(Self::Search),
1329            "SearchToggleOption" => Some(Self::SearchToggleOption),
1330            "ToggleMouseMode" => Some(Self::ToggleMouseMode),
1331            "PreviousSwapLayout" => Some(Self::PreviousSwapLayout),
1332            "NextSwapLayout" => Some(Self::NextSwapLayout),
1333            "QueryTabNames" => Some(Self::QueryTabNames),
1334            "NewTiledPluginPane" => Some(Self::NewTiledPluginPane),
1335            "NewFloatingPluginPane" => Some(Self::NewFloatingPluginPane),
1336            "StartOrReloadPlugin" => Some(Self::StartOrReloadPlugin),
1337            "CloseTerminalPane" => Some(Self::CloseTerminalPane),
1338            "ClosePluginPane" => Some(Self::ClosePluginPane),
1339            "FocusTerminalPaneWithId" => Some(Self::FocusTerminalPaneWithId),
1340            "FocusPluginPaneWithId" => Some(Self::FocusPluginPaneWithId),
1341            "RenameTerminalPane" => Some(Self::RenameTerminalPane),
1342            "RenamePluginPane" => Some(Self::RenamePluginPane),
1343            "RenameTab" => Some(Self::RenameTab),
1344            "BreakPane" => Some(Self::BreakPane),
1345            "BreakPaneRight" => Some(Self::BreakPaneRight),
1346            "BreakPaneLeft" => Some(Self::BreakPaneLeft),
1347            "RenameSession" => Some(Self::RenameSession),
1348            "LaunchPlugin" => Some(Self::LaunchPlugin),
1349            "CliPipe" => Some(Self::CliPipe),
1350            "MoveTab" => Some(Self::MoveTab),
1351            "KeybindPipe" => Some(Self::KeybindPipe),
1352            "TogglePanePinned" => Some(Self::TogglePanePinned),
1353            "MouseEvent" => Some(Self::MouseEvent),
1354            "TogglePaneInGroup" => Some(Self::TogglePaneInGroup),
1355            "ToggleGroupMarking" => Some(Self::ToggleGroupMarking),
1356            "NewStackedPane" => Some(Self::NewStackedPane),
1357            "SwitchSession" => Some(Self::SwitchSession),
1358            "NewBlockingPane" => Some(Self::NewBlockingPane),
1359            "NewInPlacePane" => Some(Self::NewInPlacePane),
1360            "OverrideLayout" => Some(Self::OverrideLayout),
1361            "SetPaneBorderless" => Some(Self::SetPaneBorderless),
1362            "GoToTabById" => Some(Self::GoToTabById),
1363            "CloseTabById" => Some(Self::CloseTabById),
1364            "RenameTabById" => Some(Self::RenameTabById),
1365            "ShowFloatingPanes" => Some(Self::ShowFloatingPanes),
1366            "HideFloatingPanes" => Some(Self::HideFloatingPanes),
1367            "AreFloatingPanesVisible" => Some(Self::AreFloatingPanesVisible),
1368            "SetDarkTheme" => Some(Self::SetDarkTheme),
1369            "SetLightTheme" => Some(Self::SetLightTheme),
1370            "ToggleTheme" => Some(Self::ToggleTheme),
1371            "FocusLastPane" => Some(Self::FocusLastPane),
1372            "SetPaneFrameStyle" => Some(Self::SetPaneFrameStyle),
1373            "ToggleFocusNoUiFullscreen" => Some(Self::ToggleFocusNoUiFullscreen),
1374            "FocusHostSession" => Some(Self::FocusHostSession),
1375            "ToggleHostFullscreen" => Some(Self::ToggleHostFullscreen),
1376            "FocusGuestSession" => Some(Self::FocusGuestSession),
1377            "ScrollToPreviousPrompt" => Some(Self::ScrollToPreviousPrompt),
1378            "ScrollToNextPrompt" => Some(Self::ScrollToNextPrompt),
1379            "SelectCommandAtScrollPosition" => Some(Self::SelectCommandAtScrollPosition),
1380            "CopyLastCommandOutput" => Some(Self::CopyLastCommandOutput),
1381            _ => None,
1382        }
1383    }
1384}
1385/// UnblockCondition specifies when a blocking pane should unblock
1386#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1387#[repr(i32)]
1388pub enum UnblockCondition {
1389    UnblockOnExitSuccess = 0,
1390    UnblockOnExitFailure = 1,
1391    UnblockOnAnyExit = 2,
1392}
1393impl UnblockCondition {
1394    /// String value of the enum field names used in the ProtoBuf definition.
1395    ///
1396    /// The values are not transformed in any way and thus are considered stable
1397    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1398    pub fn as_str_name(&self) -> &'static str {
1399        match self {
1400            UnblockCondition::UnblockOnExitSuccess => "UNBLOCK_ON_EXIT_SUCCESS",
1401            UnblockCondition::UnblockOnExitFailure => "UNBLOCK_ON_EXIT_FAILURE",
1402            UnblockCondition::UnblockOnAnyExit => "UNBLOCK_ON_ANY_EXIT",
1403        }
1404    }
1405    /// Creates an enum from field names used in the ProtoBuf definition.
1406    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1407        match value {
1408            "UNBLOCK_ON_EXIT_SUCCESS" => Some(Self::UnblockOnExitSuccess),
1409            "UNBLOCK_ON_EXIT_FAILURE" => Some(Self::UnblockOnExitFailure),
1410            "UNBLOCK_ON_ANY_EXIT" => Some(Self::UnblockOnAnyExit),
1411            _ => None,
1412        }
1413    }
1414}
1415#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1416#[repr(i32)]
1417pub enum BareKey {
1418    Unspecified = 0,
1419    PageDown = 1,
1420    PageUp = 2,
1421    Left = 3,
1422    Down = 4,
1423    Up = 5,
1424    Right = 6,
1425    Home = 7,
1426    End = 8,
1427    Backspace = 9,
1428    Delete = 10,
1429    Insert = 11,
1430    F1 = 12,
1431    F2 = 13,
1432    F3 = 14,
1433    F4 = 15,
1434    F5 = 16,
1435    F6 = 17,
1436    F7 = 18,
1437    F8 = 19,
1438    F9 = 20,
1439    F10 = 21,
1440    F11 = 22,
1441    F12 = 23,
1442    Char = 24,
1443    Tab = 25,
1444    Esc = 26,
1445    Enter = 27,
1446    CapsLock = 28,
1447    ScrollLock = 29,
1448    NumLock = 30,
1449    PrintScreen = 31,
1450    Pause = 32,
1451    Menu = 33,
1452}
1453impl BareKey {
1454    /// String value of the enum field names used in the ProtoBuf definition.
1455    ///
1456    /// The values are not transformed in any way and thus are considered stable
1457    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1458    pub fn as_str_name(&self) -> &'static str {
1459        match self {
1460            BareKey::Unspecified => "BARE_KEY_UNSPECIFIED",
1461            BareKey::PageDown => "BARE_KEY_PAGE_DOWN",
1462            BareKey::PageUp => "BARE_KEY_PAGE_UP",
1463            BareKey::Left => "BARE_KEY_LEFT",
1464            BareKey::Down => "BARE_KEY_DOWN",
1465            BareKey::Up => "BARE_KEY_UP",
1466            BareKey::Right => "BARE_KEY_RIGHT",
1467            BareKey::Home => "BARE_KEY_HOME",
1468            BareKey::End => "BARE_KEY_END",
1469            BareKey::Backspace => "BARE_KEY_BACKSPACE",
1470            BareKey::Delete => "BARE_KEY_DELETE",
1471            BareKey::Insert => "BARE_KEY_INSERT",
1472            BareKey::F1 => "BARE_KEY_F1",
1473            BareKey::F2 => "BARE_KEY_F2",
1474            BareKey::F3 => "BARE_KEY_F3",
1475            BareKey::F4 => "BARE_KEY_F4",
1476            BareKey::F5 => "BARE_KEY_F5",
1477            BareKey::F6 => "BARE_KEY_F6",
1478            BareKey::F7 => "BARE_KEY_F7",
1479            BareKey::F8 => "BARE_KEY_F8",
1480            BareKey::F9 => "BARE_KEY_F9",
1481            BareKey::F10 => "BARE_KEY_F10",
1482            BareKey::F11 => "BARE_KEY_F11",
1483            BareKey::F12 => "BARE_KEY_F12",
1484            BareKey::Char => "BARE_KEY_CHAR",
1485            BareKey::Tab => "BARE_KEY_TAB",
1486            BareKey::Esc => "BARE_KEY_ESC",
1487            BareKey::Enter => "BARE_KEY_ENTER",
1488            BareKey::CapsLock => "BARE_KEY_CAPS_LOCK",
1489            BareKey::ScrollLock => "BARE_KEY_SCROLL_LOCK",
1490            BareKey::NumLock => "BARE_KEY_NUM_LOCK",
1491            BareKey::PrintScreen => "BARE_KEY_PRINT_SCREEN",
1492            BareKey::Pause => "BARE_KEY_PAUSE",
1493            BareKey::Menu => "BARE_KEY_MENU",
1494        }
1495    }
1496    /// Creates an enum from field names used in the ProtoBuf definition.
1497    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1498        match value {
1499            "BARE_KEY_UNSPECIFIED" => Some(Self::Unspecified),
1500            "BARE_KEY_PAGE_DOWN" => Some(Self::PageDown),
1501            "BARE_KEY_PAGE_UP" => Some(Self::PageUp),
1502            "BARE_KEY_LEFT" => Some(Self::Left),
1503            "BARE_KEY_DOWN" => Some(Self::Down),
1504            "BARE_KEY_UP" => Some(Self::Up),
1505            "BARE_KEY_RIGHT" => Some(Self::Right),
1506            "BARE_KEY_HOME" => Some(Self::Home),
1507            "BARE_KEY_END" => Some(Self::End),
1508            "BARE_KEY_BACKSPACE" => Some(Self::Backspace),
1509            "BARE_KEY_DELETE" => Some(Self::Delete),
1510            "BARE_KEY_INSERT" => Some(Self::Insert),
1511            "BARE_KEY_F1" => Some(Self::F1),
1512            "BARE_KEY_F2" => Some(Self::F2),
1513            "BARE_KEY_F3" => Some(Self::F3),
1514            "BARE_KEY_F4" => Some(Self::F4),
1515            "BARE_KEY_F5" => Some(Self::F5),
1516            "BARE_KEY_F6" => Some(Self::F6),
1517            "BARE_KEY_F7" => Some(Self::F7),
1518            "BARE_KEY_F8" => Some(Self::F8),
1519            "BARE_KEY_F9" => Some(Self::F9),
1520            "BARE_KEY_F10" => Some(Self::F10),
1521            "BARE_KEY_F11" => Some(Self::F11),
1522            "BARE_KEY_F12" => Some(Self::F12),
1523            "BARE_KEY_CHAR" => Some(Self::Char),
1524            "BARE_KEY_TAB" => Some(Self::Tab),
1525            "BARE_KEY_ESC" => Some(Self::Esc),
1526            "BARE_KEY_ENTER" => Some(Self::Enter),
1527            "BARE_KEY_CAPS_LOCK" => Some(Self::CapsLock),
1528            "BARE_KEY_SCROLL_LOCK" => Some(Self::ScrollLock),
1529            "BARE_KEY_NUM_LOCK" => Some(Self::NumLock),
1530            "BARE_KEY_PRINT_SCREEN" => Some(Self::PrintScreen),
1531            "BARE_KEY_PAUSE" => Some(Self::Pause),
1532            "BARE_KEY_MENU" => Some(Self::Menu),
1533            _ => None,
1534        }
1535    }
1536}
1537#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1538#[repr(i32)]
1539pub enum KeyModifier {
1540    Unspecified = 0,
1541    Ctrl = 1,
1542    Alt = 2,
1543    Shift = 3,
1544    Super = 4,
1545}
1546impl KeyModifier {
1547    /// String value of the enum field names used in the ProtoBuf definition.
1548    ///
1549    /// The values are not transformed in any way and thus are considered stable
1550    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1551    pub fn as_str_name(&self) -> &'static str {
1552        match self {
1553            KeyModifier::Unspecified => "KEY_MODIFIER_UNSPECIFIED",
1554            KeyModifier::Ctrl => "KEY_MODIFIER_CTRL",
1555            KeyModifier::Alt => "KEY_MODIFIER_ALT",
1556            KeyModifier::Shift => "KEY_MODIFIER_SHIFT",
1557            KeyModifier::Super => "KEY_MODIFIER_SUPER",
1558        }
1559    }
1560    /// Creates an enum from field names used in the ProtoBuf definition.
1561    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1562        match value {
1563            "KEY_MODIFIER_UNSPECIFIED" => Some(Self::Unspecified),
1564            "KEY_MODIFIER_CTRL" => Some(Self::Ctrl),
1565            "KEY_MODIFIER_ALT" => Some(Self::Alt),
1566            "KEY_MODIFIER_SHIFT" => Some(Self::Shift),
1567            "KEY_MODIFIER_SUPER" => Some(Self::Super),
1568            _ => None,
1569        }
1570    }
1571}