1#[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}
8pub 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}
41pub 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}
90pub 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}
117pub 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}
238pub 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}
309pub 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#[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}
661pub mod split_size {
663 #[allow(clippy::derive_partial_eq_without_eq)]
664#[derive(Clone, PartialEq, ::prost::Oneof)]
665 pub enum SplitSizeVariant {
666 #[prost(uint32, tag="1")]
668 Percent(u32),
669 #[prost(uint32, tag="2")]
671 Fixed(u32),
672 }
673}
674#[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}
681pub 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#[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#[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#[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}
725pub 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 #[prost(string, optional, tag="3")]
851 pub character: ::core::option::Option<::prost::alloc::string::String>,
852}
853#[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 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 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 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 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 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 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 pub fn as_str_name(&self) -> &'static str {
963 match self {
964 SearchDirection::Up => "Up",
965 SearchDirection::Down => "Down",
966 }
967 }
968 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 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 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 pub fn as_str_name(&self) -> &'static str {
1018 match self {
1019 MoveTabDirection::Left => "Left",
1020 MoveTabDirection::Right => "Right",
1021 }
1022 }
1023 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 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 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#[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 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 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 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 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 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 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}