// This file is @generated by prost-build. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Size { #[prost(uint32, tag="1")] pub cols: u32, #[prost(uint32, tag="2")] pub rows: u32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PixelDimensions { #[prost(message, optional, tag="1")] pub text_area_size: ::core::option::Option, #[prost(message, optional, tag="2")] pub character_cell_size: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SizeInPixels { #[prost(uint32, tag="1")] pub width: u32, #[prost(uint32, tag="2")] pub height: u32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PaneReference { #[prost(uint32, tag="1")] pub pane_id: u32, #[prost(bool, tag="2")] pub is_plugin: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ColorRegister { #[prost(uint32, tag="1")] pub index: u32, #[prost(string, tag="2")] pub color: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct KeyWithModifier { #[prost(enumeration="BareKey", tag="1")] pub bare_key: i32, #[prost(enumeration="KeyModifier", repeated, tag="2")] pub key_modifiers: ::prost::alloc::vec::Vec, /// Only set when bare_key is CHAR #[prost(string, optional, tag="3")] pub character: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CharKey { #[prost(string, tag="1")] pub character: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FunctionKey { #[prost(uint32, tag="1")] pub function_number: u32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Style { #[prost(message, optional, tag="1")] pub colors: ::core::option::Option, #[prost(bool, tag="2")] pub rounded_corners: bool, #[prost(bool, tag="3")] pub hide_session_name: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Styling { #[prost(message, optional, tag="1")] pub base: ::core::option::Option, #[prost(message, optional, tag="2")] pub background: ::core::option::Option, #[prost(message, optional, tag="3")] pub emphasis_0: ::core::option::Option, #[prost(message, optional, tag="4")] pub emphasis_1: ::core::option::Option, #[prost(message, optional, tag="5")] pub emphasis_2: ::core::option::Option, #[prost(message, optional, tag="6")] pub emphasis_3: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PaletteColor { #[prost(oneof="palette_color::ColorType", tags="1, 2, 3")] pub color_type: ::core::option::Option, } /// Nested message and enum types in `PaletteColor`. pub mod palette_color { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum ColorType { #[prost(message, tag="1")] Rgb(super::RgbColor), #[prost(uint32, tag="2")] EightBit(u32), #[prost(enumeration="super::AnsiCode", tag="3")] Ansi(i32), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RgbColor { #[prost(uint32, tag="1")] pub r: u32, #[prost(uint32, tag="2")] pub g: u32, #[prost(uint32, tag="3")] pub b: u32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Action { #[prost(oneof="action::ActionType", tags="1, 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, 29, 30, 31, 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, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147")] pub action_type: ::core::option::Option, } /// Nested message and enum types in `Action`. pub mod action { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum ActionType { #[prost(message, tag="1")] Quit(super::QuitAction), #[prost(message, tag="2")] Write(super::WriteAction), #[prost(message, tag="3")] WriteChars(super::WriteCharsAction), #[prost(message, tag="4")] SwitchToMode(super::SwitchToModeAction), #[prost(message, tag="5")] SwitchModeForAllClients(super::SwitchModeForAllClientsAction), #[prost(message, tag="6")] Resize(super::ResizeAction), #[prost(message, tag="7")] FocusNextPane(super::FocusNextPaneAction), #[prost(message, tag="8")] FocusPreviousPane(super::FocusPreviousPaneAction), #[prost(message, tag="9")] SwitchFocus(super::SwitchFocusAction), #[prost(message, tag="10")] MoveFocus(super::MoveFocusAction), #[prost(message, tag="11")] MoveFocusOrTab(super::MoveFocusOrTabAction), #[prost(message, tag="12")] MovePane(super::MovePaneAction), #[prost(message, tag="13")] MovePaneBackwards(super::MovePaneBackwardsAction), #[prost(message, tag="14")] ClearScreen(super::ClearScreenAction), #[prost(message, tag="15")] DumpScreen(super::DumpScreenAction), #[prost(message, tag="16")] DumpLayout(super::DumpLayoutAction), #[prost(message, tag="17")] EditScrollback(super::EditScrollbackAction), #[prost(message, tag="18")] ScrollUp(super::ScrollUpAction), #[prost(message, tag="19")] ScrollUpAt(super::ScrollUpAtAction), #[prost(message, tag="20")] ScrollDown(super::ScrollDownAction), #[prost(message, tag="21")] ScrollDownAt(super::ScrollDownAtAction), #[prost(message, tag="22")] ScrollToBottom(super::ScrollToBottomAction), #[prost(message, tag="23")] ScrollToTop(super::ScrollToTopAction), #[prost(message, tag="24")] PageScrollUp(super::PageScrollUpAction), #[prost(message, tag="25")] PageScrollDown(super::PageScrollDownAction), #[prost(message, tag="26")] HalfPageScrollUp(super::HalfPageScrollUpAction), #[prost(message, tag="27")] HalfPageScrollDown(super::HalfPageScrollDownAction), #[prost(message, tag="28")] ToggleFocusFullscreen(super::ToggleFocusFullscreenAction), #[prost(message, tag="29")] TogglePaneFrames(super::TogglePaneFramesAction), #[prost(message, tag="30")] ToggleActiveSyncTab(super::ToggleActiveSyncTabAction), #[prost(message, tag="31")] NewPane(super::NewPaneAction), #[prost(message, tag="32")] EditFile(super::EditFileAction), #[prost(message, tag="33")] NewFloatingPane(super::NewFloatingPaneAction), #[prost(message, tag="34")] NewTiledPane(super::NewTiledPaneAction), #[prost(message, tag="35")] NewInPlacePane(super::NewInPlacePaneAction), #[prost(message, tag="36")] NewStackedPane(super::NewStackedPaneAction), #[prost(message, tag="37")] TogglePaneEmbedOrFloating(super::TogglePaneEmbedOrFloatingAction), #[prost(message, tag="38")] ToggleFloatingPanes(super::ToggleFloatingPanesAction), #[prost(message, tag="39")] CloseFocus(super::CloseFocusAction), #[prost(message, tag="40")] PaneNameInput(super::PaneNameInputAction), #[prost(message, tag="41")] UndoRenamePane(super::UndoRenamePaneAction), #[prost(message, tag="42")] NewTab(super::NewTabAction), #[prost(message, tag="43")] NoOp(super::NoOpAction), #[prost(message, tag="44")] GoToNextTab(super::GoToNextTabAction), #[prost(message, tag="45")] GoToPreviousTab(super::GoToPreviousTabAction), #[prost(message, tag="46")] CloseTab(super::CloseTabAction), #[prost(message, tag="47")] GoToTab(super::GoToTabAction), #[prost(message, tag="48")] GoToTabName(super::GoToTabNameAction), #[prost(message, tag="49")] ToggleTab(super::ToggleTabAction), #[prost(message, tag="50")] TabNameInput(super::TabNameInputAction), #[prost(message, tag="51")] UndoRenameTab(super::UndoRenameTabAction), #[prost(message, tag="52")] MoveTab(super::MoveTabAction), #[prost(message, tag="53")] Run(super::RunAction), #[prost(message, tag="54")] Detach(super::DetachAction), #[prost(message, tag="55")] LaunchOrFocusPlugin(super::LaunchOrFocusPluginAction), #[prost(message, tag="56")] LaunchPlugin(super::LaunchPluginAction), #[prost(message, tag="57")] MouseEvent(super::MouseEventAction), #[prost(message, tag="58")] Copy(super::CopyAction), #[prost(message, tag="59")] Confirm(super::ConfirmAction), #[prost(message, tag="60")] Deny(super::DenyAction), #[prost(message, tag="61")] SkipConfirm(::prost::alloc::boxed::Box), #[prost(message, tag="62")] SearchInput(super::SearchInputAction), #[prost(message, tag="63")] Search(super::SearchAction), #[prost(message, tag="64")] SearchToggleOption(super::SearchToggleOptionAction), #[prost(message, tag="65")] ToggleMouseMode(super::ToggleMouseModeAction), #[prost(message, tag="66")] PreviousSwapLayout(super::PreviousSwapLayoutAction), #[prost(message, tag="67")] NextSwapLayout(super::NextSwapLayoutAction), #[prost(message, tag="68")] QueryTabNames(super::QueryTabNamesAction), #[prost(message, tag="69")] NewTiledPluginPane(super::NewTiledPluginPaneAction), #[prost(message, tag="70")] NewFloatingPluginPane(super::NewFloatingPluginPaneAction), #[prost(message, tag="71")] NewInPlacePluginPane(super::NewInPlacePluginPaneAction), #[prost(message, tag="72")] StartOrReloadPlugin(super::StartOrReloadPluginAction), #[prost(message, tag="73")] CloseTerminalPane(super::CloseTerminalPaneAction), #[prost(message, tag="74")] ClosePluginPane(super::ClosePluginPaneAction), #[prost(message, tag="75")] FocusTerminalPaneWithId(super::FocusTerminalPaneWithIdAction), #[prost(message, tag="76")] FocusPluginPaneWithId(super::FocusPluginPaneWithIdAction), #[prost(message, tag="77")] RenameTerminalPane(super::RenameTerminalPaneAction), #[prost(message, tag="78")] RenamePluginPane(super::RenamePluginPaneAction), #[prost(message, tag="79")] RenameTab(super::RenameTabAction), #[prost(message, tag="80")] BreakPane(super::BreakPaneAction), #[prost(message, tag="81")] BreakPaneRight(super::BreakPaneRightAction), #[prost(message, tag="82")] BreakPaneLeft(super::BreakPaneLeftAction), #[prost(message, tag="83")] RenameSession(super::RenameSessionAction), #[prost(message, tag="84")] CliPipe(super::CliPipeAction), #[prost(message, tag="85")] KeybindPipe(super::KeybindPipeAction), #[prost(message, tag="86")] ListClients(super::ListClientsAction), #[prost(message, tag="87")] TogglePanePinned(super::TogglePanePinnedAction), #[prost(message, tag="88")] StackPanes(super::StackPanesAction), #[prost(message, tag="89")] ChangeFloatingPaneCoordinates(super::ChangeFloatingPaneCoordinatesAction), #[prost(message, tag="90")] TogglePaneInGroup(super::TogglePaneInGroupAction), #[prost(message, tag="91")] ToggleGroupMarking(super::ToggleGroupMarkingAction), #[prost(message, tag="92")] SwitchSession(super::SwitchSessionAction), #[prost(message, tag="93")] NewBlockingPane(super::NewBlockingPaneAction), #[prost(message, tag="94")] OverrideLayout(super::OverrideLayoutAction), #[prost(message, tag="95")] TogglePaneBorderless(super::TogglePaneBorderlessAction), #[prost(message, tag="96")] SetPaneBorderless(super::SetPaneBorderlessAction), #[prost(message, tag="97")] SaveSession(super::SaveSessionAction), #[prost(message, tag="98")] ListPanes(super::ListPanesAction), #[prost(message, tag="99")] WriteCharsToPaneId(super::WriteCharsToPaneIdAction), #[prost(message, tag="100")] WriteToPaneId(super::WriteToPaneIdAction), #[prost(message, tag="101")] GoToTabById(super::GoToTabByIdAction), #[prost(message, tag="102")] CloseTabById(super::CloseTabByIdAction), #[prost(message, tag="103")] RenameTabById(super::RenameTabByIdAction), #[prost(message, tag="104")] ListTabs(super::ListTabsAction), #[prost(message, tag="105")] CurrentTabInfo(super::CurrentTabInfoAction), #[prost(message, tag="106")] ShowFloatingPanes(super::ShowFloatingPanesAction), #[prost(message, tag="107")] HideFloatingPanes(super::HideFloatingPanesAction), #[prost(message, tag="108")] SetPaneColor(super::SetPaneColorAction), #[prost(message, tag="109")] Paste(super::PasteAction), /// Pane-targeting #[prost(message, tag="110")] ScrollUpByPaneId(super::ScrollUpByPaneIdAction), #[prost(message, tag="111")] ScrollDownByPaneId(super::ScrollDownByPaneIdAction), #[prost(message, tag="112")] ScrollToTopByPaneId(super::ScrollToTopByPaneIdAction), #[prost(message, tag="113")] ScrollToBottomByPaneId(super::ScrollToBottomByPaneIdAction), #[prost(message, tag="114")] PageScrollUpByPaneId(super::PageScrollUpByPaneIdAction), #[prost(message, tag="115")] PageScrollDownByPaneId(super::PageScrollDownByPaneIdAction), #[prost(message, tag="116")] HalfPageScrollUpByPaneId(super::HalfPageScrollUpByPaneIdAction), #[prost(message, tag="117")] HalfPageScrollDownByPaneId(super::HalfPageScrollDownByPaneIdAction), #[prost(message, tag="118")] ResizeByPaneId(super::ResizeByPaneIdAction), #[prost(message, tag="119")] MovePaneByPaneId(super::MovePaneByPaneIdAction), #[prost(message, tag="120")] MovePaneBackwardsByPaneId(super::MovePaneBackwardsByPaneIdAction), #[prost(message, tag="121")] ClearScreenByPaneId(super::ClearScreenByPaneIdAction), #[prost(message, tag="122")] EditScrollbackByPaneId(super::EditScrollbackByPaneIdAction), #[prost(message, tag="123")] ToggleFullscreenByPaneId(super::ToggleFullscreenByPaneIdAction), #[prost(message, tag="124")] TogglePaneEmbedOrFloatingByPaneId(super::TogglePaneEmbedOrFloatingByPaneIdAction), #[prost(message, tag="125")] CloseFocusByPaneId(super::CloseFocusByPaneIdAction), #[prost(message, tag="126")] RenamePaneByPaneId(super::RenamePaneByPaneIdAction), #[prost(message, tag="127")] UndoRenamePaneByPaneId(super::UndoRenamePaneByPaneIdAction), #[prost(message, tag="128")] TogglePanePinnedByPaneId(super::TogglePanePinnedByPaneIdAction), /// Tab-targeting #[prost(message, tag="129")] UndoRenameTabByTabId(super::UndoRenameTabByTabIdAction), #[prost(message, tag="130")] ToggleActiveSyncTabByTabId(super::ToggleActiveSyncTabByTabIdAction), #[prost(message, tag="131")] ToggleFloatingPanesByTabId(super::ToggleFloatingPanesByTabIdAction), #[prost(message, tag="132")] PreviousSwapLayoutByTabId(super::PreviousSwapLayoutByTabIdAction), #[prost(message, tag="133")] NextSwapLayoutByTabId(super::NextSwapLayoutByTabIdAction), #[prost(message, tag="134")] MoveTabByTabId(super::MoveTabByTabIdAction), #[prost(message, tag="135")] FocusPaneByPaneId(super::FocusPaneByPaneIdAction), #[prost(message, tag="136")] AreFloatingPanesVisible(super::AreFloatingPanesVisibleAction), #[prost(message, tag="137")] SetDarkTheme(super::SetDarkThemeAction), #[prost(message, tag="138")] SetLightTheme(super::SetLightThemeAction), #[prost(message, tag="139")] ToggleTheme(super::ToggleThemeAction), #[prost(message, tag="140")] ToggleMobileMode(super::ToggleMobileModeAction), #[prost(message, tag="141")] FocusLastPane(super::FocusLastPaneAction), #[prost(message, tag="142")] SetPaneFrameStyle(super::SetPaneFrameStyleAction), #[prost(message, tag="143")] ToggleFocusNoUiFullscreen(super::ToggleFocusNoUiFullscreenAction), #[prost(message, tag="144")] ToggleNoUiFullscreenByPaneId(super::ToggleNoUiFullscreenByPaneIdAction), #[prost(message, tag="145")] FocusHostSession(super::FocusHostSessionAction), #[prost(message, tag="146")] ToggleHostFullscreen(super::ToggleHostFullscreenAction), #[prost(message, tag="147")] FocusGuestSession(super::FocusGuestSessionAction), } } // Action message definitions (all 92 variants) /// Simple action types (no data) #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QuitAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusNextPaneAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusPreviousPaneAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusLastPaneAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusHostSessionAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusGuestSessionAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleHostFullscreenAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SwitchFocusAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MovePaneBackwardsAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ClearScreenAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DumpLayoutAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SaveSessionAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EditScrollbackAction { #[prost(bool, tag="1")] pub ansi: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollUpAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollDownAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollToBottomAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollToTopAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PageScrollUpAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PageScrollDownAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HalfPageScrollUpAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HalfPageScrollDownAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleFocusFullscreenAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleFocusNoUiFullscreenAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TogglePaneFramesAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetPaneFrameStyleAction { #[prost(string, tag="1")] pub style: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleActiveSyncTabAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TogglePaneEmbedOrFloatingAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleFloatingPanesAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ShowFloatingPanesAction { #[prost(uint32, optional, tag="1")] pub tab_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HideFloatingPanesAction { #[prost(uint32, optional, tag="1")] pub tab_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AreFloatingPanesVisibleAction { #[prost(uint32, optional, tag="1")] pub tab_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CloseFocusAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UndoRenamePaneAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NoOpAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GoToNextTabAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GoToPreviousTabAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CloseTabAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleTabAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UndoRenameTabAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DetachAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetDarkThemeAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetLightThemeAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleThemeAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CopyAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConfirmAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DenyAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleMouseModeAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleMobileModeAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PreviousSwapLayoutAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NextSwapLayoutAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TabLayoutInfo { #[prost(uint32, tag="1")] pub tab_index: u32, #[prost(string, optional, tag="2")] pub tab_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag="3")] pub tiled_layout: ::core::option::Option, #[prost(message, repeated, tag="4")] pub floating_layouts: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag="5")] pub swap_tiled_layouts: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag="6")] pub swap_floating_layouts: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct OverrideLayoutAction { #[prost(message, repeated, tag="1")] pub tabs: ::prost::alloc::vec::Vec, #[prost(bool, tag="2")] pub retain_existing_terminal_panes: bool, #[prost(bool, tag="3")] pub retain_existing_plugin_panes: bool, #[prost(bool, tag="4")] pub apply_only_to_active_tab: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryTabNamesAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BreakPaneAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BreakPaneRightAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BreakPaneLeftAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListClientsAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListPanesAction { #[prost(bool, tag="1")] pub show_tab: bool, #[prost(bool, tag="2")] pub show_command: bool, #[prost(bool, tag="3")] pub show_state: bool, #[prost(bool, tag="4")] pub show_geometry: bool, #[prost(bool, tag="5")] pub show_all: bool, #[prost(bool, tag="6")] pub output_json: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListTabsAction { #[prost(bool, tag="1")] pub show_state: bool, #[prost(bool, tag="2")] pub show_dimensions: bool, #[prost(bool, tag="3")] pub show_panes: bool, #[prost(bool, tag="4")] pub show_layout: bool, #[prost(bool, tag="5")] pub show_all: bool, #[prost(bool, tag="6")] pub output_json: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CurrentTabInfoAction { #[prost(bool, tag="1")] pub output_json: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TogglePanePinnedAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TogglePaneInGroupAction { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleGroupMarkingAction { } /// Complex action types (with data) #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WriteAction { #[prost(message, optional, tag="1")] pub key_with_modifier: ::core::option::Option, #[prost(uint32, repeated, tag="2")] pub bytes: ::prost::alloc::vec::Vec, #[prost(bool, tag="3")] pub is_kitty_keyboard_protocol: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WriteCharsAction { #[prost(string, tag="1")] pub chars: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WriteToPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(uint32, repeated, tag="2")] pub bytes: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WriteCharsToPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(string, tag="2")] pub chars: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PasteAction { #[prost(string, tag="1")] pub chars: ::prost::alloc::string::String, #[prost(message, optional, tag="2")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SwitchToModeAction { #[prost(enumeration="InputMode", tag="1")] pub input_mode: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SwitchModeForAllClientsAction { #[prost(enumeration="InputMode", tag="1")] pub input_mode: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ResizeAction { #[prost(enumeration="ResizeType", tag="1")] pub resize: i32, #[prost(enumeration="Direction", optional, tag="2")] pub direction: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MoveFocusAction { #[prost(enumeration="Direction", tag="1")] pub direction: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MoveFocusOrTabAction { #[prost(enumeration="Direction", tag="1")] pub direction: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MovePaneAction { #[prost(enumeration="Direction", optional, tag="1")] pub direction: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DumpScreenAction { #[prost(string, tag="1")] pub file_path: ::prost::alloc::string::String, #[prost(bool, tag="2")] pub include_scrollback: bool, #[prost(message, optional, tag="3")] pub pane_id: ::core::option::Option, #[prost(bool, tag="4")] pub dump_to_stdout: bool, #[prost(bool, tag="5")] pub ansi: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollUpAtAction { #[prost(message, optional, tag="1")] pub position: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollDownAtAction { #[prost(message, optional, tag="1")] pub position: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewPaneAction { #[prost(enumeration="Direction", optional, tag="1")] pub direction: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="3")] pub start_suppressed: bool, #[prost(bool, tag="4")] pub near_current_pane: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EditFileAction { #[prost(message, optional, tag="1")] pub payload: ::core::option::Option, #[prost(enumeration="Direction", optional, tag="2")] pub direction: ::core::option::Option, #[prost(bool, tag="3")] pub floating: bool, #[prost(bool, tag="4")] pub in_place: bool, #[prost(bool, tag="5")] pub start_suppressed: bool, #[prost(message, optional, tag="6")] pub coordinates: ::core::option::Option, #[prost(bool, tag="7")] pub near_current_pane: bool, #[prost(bool, tag="8")] pub close_replaced_pane: bool, #[prost(uint32, optional, tag="9")] pub tab_id: ::core::option::Option, #[prost(bool, tag="10")] pub no_focus: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewFloatingPaneAction { #[prost(message, optional, tag="1")] pub command: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag="3")] pub coordinates: ::core::option::Option, #[prost(bool, tag="7")] pub near_current_pane: bool, #[prost(uint32, optional, tag="8")] pub tab_id: ::core::option::Option, #[prost(bool, tag="9")] pub no_focus: bool, #[prost(string, optional, tag="10")] pub purpose: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewTiledPaneAction { #[prost(enumeration="Direction", optional, tag="1")] pub direction: ::core::option::Option, #[prost(message, optional, tag="2")] pub command: ::core::option::Option, #[prost(string, optional, tag="3")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="7")] pub near_current_pane: bool, #[prost(bool, optional, tag="8")] pub borderless: ::core::option::Option, #[prost(uint32, optional, tag="9")] pub tab_id: ::core::option::Option, #[prost(bool, tag="10")] pub no_focus: bool, #[prost(string, optional, tag="11")] pub purpose: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewInPlacePaneAction { #[prost(message, optional, tag="1")] pub command: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="3")] pub near_current_pane: bool, #[prost(message, optional, tag="4")] pub pane_id_to_replace: ::core::option::Option, #[prost(bool, tag="5")] pub close_replaced_pane: bool, #[prost(uint32, optional, tag="6")] pub tab_id: ::core::option::Option, #[prost(bool, tag="7")] pub no_focus: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewStackedPaneAction { #[prost(message, optional, tag="1")] pub command: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="3")] pub near_current_pane: bool, #[prost(uint32, optional, tag="4")] pub tab_id: ::core::option::Option, #[prost(bool, tag="5")] pub no_focus: bool, #[prost(string, optional, tag="6")] pub purpose: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewBlockingPaneAction { #[prost(message, optional, tag="1")] pub placement: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag="3")] pub command: ::core::option::Option, #[prost(enumeration="UnblockCondition", optional, tag="4")] pub unblock_condition: ::core::option::Option, #[prost(bool, tag="5")] pub near_current_pane: bool, #[prost(uint32, optional, tag="6")] pub tab_id: ::core::option::Option, #[prost(bool, tag="7")] pub no_focus: bool, #[prost(string, optional, tag="8")] pub purpose: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PaneNameInputAction { #[prost(uint32, repeated, tag="1")] pub input: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewTabAction { #[prost(message, optional, tag="1")] pub tiled_layout: ::core::option::Option, #[prost(message, repeated, tag="2")] pub floating_layouts: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag="3")] pub swap_tiled_layouts: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag="4")] pub swap_floating_layouts: ::prost::alloc::vec::Vec, #[prost(string, optional, tag="5")] pub tab_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="6")] pub should_change_focus_to_new_tab: bool, #[prost(string, optional, tag="7")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, repeated, tag="8")] pub initial_panes: ::prost::alloc::vec::Vec, #[prost(enumeration="UnblockCondition", optional, tag="9")] pub first_pane_unblock_condition: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GoToTabAction { #[prost(uint32, tag="1")] pub index: u32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GoToTabNameAction { #[prost(string, tag="1")] pub name: ::prost::alloc::string::String, #[prost(bool, tag="2")] pub create: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TabNameInputAction { #[prost(uint32, repeated, tag="1")] pub input: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MoveTabAction { #[prost(enumeration="Direction", tag="1")] pub direction: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunAction { #[prost(message, optional, tag="1")] pub command: ::core::option::Option, #[prost(bool, tag="2")] pub near_current_pane: bool, #[prost(bool, tag="3")] pub no_focus: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LaunchOrFocusPluginAction { #[prost(message, optional, tag="1")] pub plugin: ::core::option::Option, #[prost(bool, tag="2")] pub should_float: bool, #[prost(bool, tag="3")] pub move_to_focused_tab: bool, #[prost(bool, tag="4")] pub should_open_in_place: bool, #[prost(bool, tag="5")] pub skip_cache: bool, #[prost(bool, tag="6")] pub close_replaced_pane: bool, #[prost(uint32, optional, tag="7")] pub tab_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LaunchPluginAction { #[prost(message, optional, tag="1")] pub plugin: ::core::option::Option, #[prost(bool, tag="2")] pub should_float: bool, #[prost(bool, tag="3")] pub should_open_in_place: bool, #[prost(bool, tag="4")] pub skip_cache: bool, #[prost(string, optional, tag="5")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="6")] pub close_replaced_pane: bool, #[prost(uint32, optional, tag="7")] pub tab_id: ::core::option::Option, #[prost(bool, tag="8")] pub no_focus: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MouseEventAction { #[prost(message, optional, tag="1")] pub event: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SkipConfirmAction { #[prost(message, optional, boxed, tag="1")] pub action: ::core::option::Option<::prost::alloc::boxed::Box>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchInputAction { #[prost(uint32, repeated, tag="1")] pub input: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchAction { #[prost(enumeration="SearchDirection", tag="1")] pub direction: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchToggleOptionAction { #[prost(enumeration="SearchOption", tag="1")] pub option: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewTiledPluginPaneAction { #[prost(message, optional, tag="1")] pub plugin: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="3")] pub skip_cache: bool, #[prost(string, optional, tag="4")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(uint32, optional, tag="5")] pub tab_id: ::core::option::Option, #[prost(bool, tag="6")] pub no_focus: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewFloatingPluginPaneAction { #[prost(message, optional, tag="1")] pub plugin: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="3")] pub skip_cache: bool, #[prost(string, optional, tag="4")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag="5")] pub coordinates: ::core::option::Option, #[prost(uint32, optional, tag="6")] pub tab_id: ::core::option::Option, #[prost(bool, tag="7")] pub no_focus: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewInPlacePluginPaneAction { #[prost(message, optional, tag="1")] pub plugin: ::core::option::Option, #[prost(string, optional, tag="2")] pub pane_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="3")] pub skip_cache: bool, #[prost(bool, tag="4")] pub close_replaced_pane: bool, #[prost(uint32, optional, tag="5")] pub tab_id: ::core::option::Option, #[prost(bool, tag="6")] pub no_focus: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct StartOrReloadPluginAction { #[prost(message, optional, tag="1")] pub plugin: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CloseTerminalPaneAction { #[prost(uint32, tag="1")] pub pane_id: u32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ClosePluginPaneAction { #[prost(uint32, tag="1")] pub pane_id: u32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusTerminalPaneWithIdAction { #[prost(uint32, tag="1")] pub pane_id: u32, #[prost(bool, tag="2")] pub should_float_if_hidden: bool, #[prost(bool, tag="3")] pub should_be_in_place_if_hidden: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusPluginPaneWithIdAction { #[prost(uint32, tag="1")] pub pane_id: u32, #[prost(bool, tag="2")] pub should_float_if_hidden: bool, #[prost(bool, tag="3")] pub should_be_in_place_if_hidden: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenameTerminalPaneAction { #[prost(uint32, tag="1")] pub pane_id: u32, #[prost(uint32, repeated, tag="2")] pub name: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenamePluginPaneAction { #[prost(uint32, tag="1")] pub pane_id: u32, #[prost(uint32, repeated, tag="2")] pub name: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenameTabAction { #[prost(uint32, tag="1")] pub tab_index: u32, #[prost(uint32, repeated, tag="2")] pub name: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GoToTabByIdAction { #[prost(uint64, tag="1")] pub id: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CloseTabByIdAction { #[prost(uint64, tag="1")] pub id: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenameTabByIdAction { #[prost(uint64, tag="1")] pub id: u64, #[prost(string, tag="2")] pub name: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenameSessionAction { #[prost(string, tag="1")] pub name: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CliPipeAction { #[prost(string, tag="1")] pub pipe_id: ::prost::alloc::string::String, #[prost(string, optional, tag="2")] pub name: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="3")] pub payload: ::core::option::Option<::prost::alloc::string::String>, #[prost(map="string, string", tag="4")] pub args: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, #[prost(string, optional, tag="5")] pub plugin: ::core::option::Option<::prost::alloc::string::String>, #[prost(map="string, string", tag="6")] pub configuration: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, #[prost(bool, tag="7")] pub launch_new: bool, #[prost(bool, tag="8")] pub skip_cache: bool, #[prost(bool, optional, tag="9")] pub floating: ::core::option::Option, #[prost(bool, optional, tag="10")] pub in_place: ::core::option::Option, #[prost(string, optional, tag="11")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="12")] pub pane_title: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct KeybindPipeAction { #[prost(string, optional, tag="1")] pub name: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="2")] pub payload: ::core::option::Option<::prost::alloc::string::String>, #[prost(map="string, string", tag="3")] pub args: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, #[prost(string, optional, tag="4")] pub plugin: ::core::option::Option<::prost::alloc::string::String>, #[prost(uint32, optional, tag="5")] pub plugin_id: ::core::option::Option, #[prost(map="string, string", tag="6")] pub configuration: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, #[prost(bool, tag="7")] pub launch_new: bool, #[prost(bool, tag="8")] pub skip_cache: bool, #[prost(bool, optional, tag="9")] pub floating: ::core::option::Option, #[prost(bool, optional, tag="10")] pub in_place: ::core::option::Option, #[prost(string, optional, tag="11")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="12")] pub pane_title: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct StackPanesAction { #[prost(message, repeated, tag="1")] pub pane_ids: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ChangeFloatingPaneCoordinatesAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(message, optional, tag="2")] pub coordinates: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TogglePaneBorderlessAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetPaneBorderlessAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(bool, tag="2")] pub borderless: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetPaneColorAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(string, optional, tag="2")] pub fg: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="3")] pub bg: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Position { /// Changed from uint32 to int32 to support negative line numbers #[prost(int32, tag="1")] pub line: i32, /// Changed from uint32 to uint64 to support large column numbers #[prost(uint64, tag="2")] pub column: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CliAssets { #[prost(string, optional, tag="1")] pub config_file_path: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="2")] pub config_dir: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="3")] pub should_ignore_config: bool, #[prost(message, optional, tag="4")] pub configuration_options: ::core::option::Option, #[prost(message, optional, tag="5")] pub layout: ::core::option::Option, #[prost(message, optional, tag="6")] pub terminal_window_size: ::core::option::Option, #[prost(string, optional, tag="7")] pub data_dir: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="8")] pub is_debug: bool, #[prost(uint32, optional, tag="9")] pub max_panes: ::core::option::Option, #[prost(bool, tag="10")] pub force_run_layout_commands: bool, #[prost(string, optional, tag="11")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LayoutInfo { #[prost(message, optional, tag="5")] pub layout_metadata: ::core::option::Option, #[prost(oneof="layout_info::LayoutType", tags="1, 2, 3, 4")] pub layout_type: ::core::option::Option, } /// Nested message and enum types in `LayoutInfo`. pub mod layout_info { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum LayoutType { #[prost(string, tag="1")] FilePath(::prost::alloc::string::String), #[prost(string, tag="2")] BuiltinName(::prost::alloc::string::String), #[prost(string, tag="3")] Url(::prost::alloc::string::String), #[prost(string, tag="4")] Stringified(::prost::alloc::string::String), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LayoutMetadata { #[prost(message, repeated, tag="1")] pub tabs: ::prost::alloc::vec::Vec, #[prost(string, tag="2")] pub creation_time: ::prost::alloc::string::String, #[prost(string, tag="3")] pub update_time: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TabMetadata { #[prost(message, repeated, tag="1")] pub pane_metadata: ::prost::alloc::vec::Vec, #[prost(string, optional, tag="2")] pub name: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PaneMetadata { #[prost(string, optional, tag="1")] pub name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, tag="2")] pub is_plugin: bool, #[prost(bool, tag="3")] pub is_builtin_plugin: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConnectToSession { #[prost(string, optional, tag="1")] pub name: ::core::option::Option<::prost::alloc::string::String>, #[prost(uint32, optional, tag="2")] pub tab_position: ::core::option::Option, #[prost(message, optional, tag="3")] pub pane_id: ::core::option::Option, #[prost(message, optional, tag="4")] pub layout: ::core::option::Option, #[prost(string, optional, tag="5")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SwitchSessionAction { #[prost(string, tag="1")] pub name: ::prost::alloc::string::String, #[prost(uint32, optional, tag="2")] pub tab_position: ::core::option::Option, #[prost(message, optional, tag="3")] pub pane_id: ::core::option::Option, #[prost(message, optional, tag="4")] pub layout: ::core::option::Option, #[prost(string, optional, tag="5")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewPanePlacement { #[prost(oneof="new_pane_placement::PlacementType", tags="1, 2, 3, 4, 5, 6, 7, 8")] pub placement_type: ::core::option::Option, } /// Nested message and enum types in `NewPanePlacement`. pub mod new_pane_placement { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum PlacementType { #[prost(bool, tag="1")] NoPreference(bool), #[prost(enumeration="super::Direction", tag="2")] Tiled(i32), #[prost(message, tag="3")] Floating(super::FloatingPaneCoordinates), #[prost(message, tag="4")] InPlace(super::NewPanePlacementInPlace), #[prost(message, tag="5")] Stacked(super::PaneId), /// these new variants are so that we can send data along with the previous variants without compromising backwards compatibility by changing the above types #[prost(message, tag="6")] NoPreferenceWithOptions(super::NoPreferencePlacement), #[prost(message, tag="7")] TiledWithOptions(super::TiledPlacement), #[prost(message, tag="8")] StackedWithOptions(super::StackedPlacement), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NoPreferencePlacement { #[prost(bool, optional, tag="1")] pub borderless: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TiledPlacement { #[prost(enumeration="Direction", optional, tag="1")] pub direction: ::core::option::Option, #[prost(bool, optional, tag="2")] pub borderless: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct StackedPlacement { #[prost(message, optional, tag="1")] pub pane_id_to_stack_under: ::core::option::Option, #[prost(bool, optional, tag="2")] pub borderless: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NewPanePlacementInPlace { #[prost(message, optional, tag="1")] pub pane_id_to_replace: ::core::option::Option, #[prost(bool, tag="2")] pub close_replaced_pane: bool, #[prost(bool, optional, tag="3")] pub borderless: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PaneIdWithPlugin { #[prost(uint32, tag="1")] pub pane_id: u32, #[prost(bool, tag="2")] pub is_plugin: bool, } // Additional supporting types for Action messages #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct OpenFilePayload { #[prost(string, tag="1")] pub file_to_open: ::prost::alloc::string::String, #[prost(uint32, optional, tag="2")] pub line_number: ::core::option::Option, #[prost(string, optional, tag="3")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag="4")] pub originating_plugin: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FloatingPaneCoordinates { #[prost(message, optional, tag="1")] pub x: ::core::option::Option, #[prost(message, optional, tag="2")] pub y: ::core::option::Option, #[prost(message, optional, tag="3")] pub width: ::core::option::Option, #[prost(message, optional, tag="4")] pub height: ::core::option::Option, #[prost(bool, optional, tag="5")] pub pinned: ::core::option::Option, #[prost(bool, optional, tag="6")] pub borderless: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FloatingCoordinate { #[prost(oneof="floating_coordinate::CoordinateType", tags="1, 2")] pub coordinate_type: ::core::option::Option, } /// Nested message and enum types in `FloatingCoordinate`. pub mod floating_coordinate { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum CoordinateType { #[prost(uint32, tag="1")] Fixed(u32), #[prost(float, tag="2")] Percent(f32), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunCommandAction { #[prost(string, tag="1")] pub command: ::prost::alloc::string::String, #[prost(string, repeated, tag="2")] pub args: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, optional, tag="3")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, /// Added missing direction field #[prost(enumeration="Direction", optional, tag="4")] pub direction: ::core::option::Option, /// Renumbered #[prost(bool, tag="5")] pub hold_on_close: bool, /// Renumbered #[prost(bool, tag="6")] pub hold_on_start: bool, /// Added missing originating_plugin field #[prost(message, optional, tag="7")] pub originating_plugin: ::core::option::Option, /// Added missing use_terminal_title field #[prost(bool, tag="8")] pub use_terminal_title: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TiledPaneLayout { #[prost(enumeration="SplitDirection", tag="1")] pub children_split_direction: i32, #[prost(string, optional, tag="2")] pub name: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, repeated, tag="3")] pub children: ::prost::alloc::vec::Vec, #[prost(message, optional, tag="4")] pub split_size: ::core::option::Option, #[prost(message, optional, tag="5")] pub run: ::core::option::Option, #[prost(bool, optional, tag="6")] pub borderless: ::core::option::Option, #[prost(string, optional, tag="7")] pub focus: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, optional, tag="8")] pub exclude_from_sync: ::core::option::Option, #[prost(bool, tag="9")] pub children_are_stacked: bool, #[prost(uint32, optional, tag="10")] pub external_children_index: ::core::option::Option, #[prost(bool, tag="11")] pub is_expanded_in_stack: bool, #[prost(bool, tag="12")] pub hide_floating_panes: bool, #[prost(string, optional, tag="13")] pub pane_initial_contents: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="14")] pub default_fg: ::core::option::Option<::prost::alloc::string::String>, /// NOTE: run_instructions_to_ignore is not represented here because it's a field used only inside the server itself and not part of the server/client contract #[prost(string, optional, tag="15")] pub default_bg: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FloatingPaneLayout { #[prost(string, optional, tag="1")] pub name: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag="2")] pub height: ::core::option::Option, #[prost(message, optional, tag="3")] pub width: ::core::option::Option, #[prost(message, optional, tag="4")] pub x: ::core::option::Option, #[prost(message, optional, tag="5")] pub y: ::core::option::Option, #[prost(bool, optional, tag="6")] pub pinned: ::core::option::Option, #[prost(message, optional, tag="7")] pub run: ::core::option::Option, #[prost(bool, optional, tag="8")] pub focus: ::core::option::Option, #[prost(bool, tag="9")] pub already_running: bool, #[prost(string, optional, tag="10")] pub pane_initial_contents: ::core::option::Option<::prost::alloc::string::String>, #[prost(uint32, optional, tag="11")] pub logical_position: ::core::option::Option, #[prost(bool, optional, tag="12")] pub borderless: ::core::option::Option, #[prost(string, optional, tag="13")] pub default_fg: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="14")] pub default_bg: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SwapTiledLayout { #[prost(message, repeated, tag="1")] pub constraint_map: ::prost::alloc::vec::Vec, #[prost(string, optional, tag="2")] pub name: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SwapFloatingLayout { #[prost(message, repeated, tag="1")] pub constraint_map: ::prost::alloc::vec::Vec, #[prost(string, optional, tag="2")] pub name: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LayoutConstraintTiledPair { #[prost(message, optional, tag="1")] pub constraint: ::core::option::Option, #[prost(message, optional, tag="2")] pub layout: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LayoutConstraintFloatingPair { #[prost(message, optional, tag="1")] pub constraint: ::core::option::Option, #[prost(message, repeated, tag="2")] pub layouts: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunPluginOrAlias { #[prost(oneof="run_plugin_or_alias::PluginType", tags="1, 2")] pub plugin_type: ::core::option::Option, } /// Nested message and enum types in `RunPluginOrAlias`. pub mod run_plugin_or_alias { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum PluginType { #[prost(message, tag="1")] Plugin(super::RunPlugin), #[prost(message, tag="2")] Alias(super::PluginAlias), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunPlugin { #[prost(bool, tag="1")] pub allow_exec_host_cmd: bool, #[prost(message, optional, tag="2")] pub location: ::core::option::Option, #[prost(message, optional, tag="3")] pub configuration: ::core::option::Option, #[prost(string, optional, tag="4")] pub initial_cwd: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PluginAlias { #[prost(string, tag="1")] pub name: ::prost::alloc::string::String, #[prost(message, optional, tag="2")] pub configuration: ::core::option::Option, #[prost(string, optional, tag="3")] pub initial_cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag="4")] pub run_plugin: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CommandOrPluginFile { #[prost(string, tag="1")] pub path: ::prost::alloc::string::String, #[prost(int32, optional, tag="2")] pub line_number: ::core::option::Option, #[prost(string, optional, tag="3")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CommandOrPlugin { #[prost(oneof="command_or_plugin::CommandOrPluginType", tags="1, 2, 3")] pub command_or_plugin_type: ::core::option::Option, } /// Nested message and enum types in `CommandOrPlugin`. pub mod command_or_plugin { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum CommandOrPluginType { #[prost(message, tag="1")] Command(super::RunCommandAction), #[prost(message, tag="2")] Plugin(super::RunPluginOrAlias), #[prost(message, tag="3")] File(super::CommandOrPluginFile), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MouseEvent { #[prost(enumeration="MouseEventType", tag="1")] pub event_type: i32, #[prost(bool, tag="2")] pub left: bool, #[prost(bool, tag="3")] pub right: bool, #[prost(bool, tag="4")] pub middle: bool, #[prost(bool, tag="5")] pub wheel_up: bool, #[prost(bool, tag="6")] pub wheel_down: bool, #[prost(bool, tag="7")] pub shift: bool, #[prost(bool, tag="8")] pub alt: bool, #[prost(bool, tag="9")] pub ctrl: bool, #[prost(message, optional, tag="10")] pub position: ::core::option::Option, #[prost(bool, tag="11")] pub wheel_left: bool, #[prost(bool, tag="12")] pub wheel_right: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PaneId { #[prost(oneof="pane_id::PaneType", tags="1, 2")] pub pane_type: ::core::option::Option, } /// Nested message and enum types in `PaneId`. pub mod pane_id { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum PaneType { #[prost(uint32, tag="1")] Terminal(u32), #[prost(uint32, tag="2")] Plugin(u32), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SplitSize { #[prost(oneof="split_size::SizeType", tags="1, 2")] pub size_type: ::core::option::Option, } /// Nested message and enum types in `SplitSize`. pub mod split_size { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum SizeType { /// 1 to 100 #[prost(uint32, tag="1")] Percent(u32), /// absolute number #[prost(uint32, tag="2")] Fixed(u32), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PercentOrFixed { #[prost(oneof="percent_or_fixed::SizeType", tags="1, 2")] pub size_type: ::core::option::Option, } /// Nested message and enum types in `PercentOrFixed`. pub mod percent_or_fixed { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum SizeType { /// 1 to 100 #[prost(uint32, tag="1")] Percent(u32), /// absolute number #[prost(uint32, tag="2")] Fixed(u32), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LayoutConstraintWithValue { #[prost(enumeration="LayoutConstraint", tag="1")] pub constraint_type: i32, /// Only used for MAX_PANES, MIN_PANES, EXACT_PANES #[prost(uint32, optional, tag="2")] pub value: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PluginUserConfiguration { #[prost(map="string, string", tag="1")] pub configuration: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunPluginLocationData { #[prost(enumeration="RunPluginLocation", tag="1")] pub location_type: i32, #[prost(oneof="run_plugin_location_data::LocationData", tags="2, 3, 4")] pub location_data: ::core::option::Option, } /// Nested message and enum types in `RunPluginLocationData`. pub mod run_plugin_location_data { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum LocationData { /// For FILE #[prost(string, tag="2")] FilePath(::prost::alloc::string::String), /// For ZELLIJ #[prost(message, tag="3")] ZellijTag(super::PluginTag), /// For REMOTE #[prost(string, tag="4")] RemoteUrl(::prost::alloc::string::String), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PluginTag { #[prost(string, tag="1")] pub tag: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct OriginatingPlugin { #[prost(uint32, tag="1")] pub plugin_id: u32, /// ClientId is u16, but using uint32 for protobuf compatibility #[prost(uint32, tag="2")] pub client_id: u32, /// Context is BTreeMap #[prost(map="string, string", tag="3")] pub context: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Run { #[prost(oneof="run::RunType", tags="1, 2, 3, 4")] pub run_type: ::core::option::Option, } /// Nested message and enum types in `Run`. pub mod run { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum RunType { #[prost(message, tag="1")] Command(super::RunCommandAction), #[prost(message, tag="2")] Plugin(super::RunPluginOrAlias), #[prost(message, tag="3")] EditFile(super::RunEditFileAction), #[prost(string, tag="4")] Cwd(::prost::alloc::string::String), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RunEditFileAction { #[prost(string, tag="1")] pub file_path: ::prost::alloc::string::String, #[prost(uint32, optional, tag="2")] pub line_number: ::core::option::Option, #[prost(string, optional, tag="3")] pub cwd: ::core::option::Option<::prost::alloc::string::String>, } // Config Options message - comprehensive configuration structure #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Options { #[prost(bool, optional, tag="1")] pub simplified_ui: ::core::option::Option, #[prost(string, optional, tag="2")] pub theme: ::core::option::Option<::prost::alloc::string::String>, #[prost(enumeration="InputMode", optional, tag="3")] pub default_mode: ::core::option::Option, #[prost(string, optional, tag="4")] pub default_shell: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="5")] pub default_cwd: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="6")] pub default_layout: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="7")] pub layout_dir: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="8")] pub theme_dir: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, optional, tag="9")] pub mouse_mode: ::core::option::Option, #[prost(bool, optional, tag="10")] pub pane_frames: ::core::option::Option, #[prost(bool, optional, tag="11")] pub mirror_session: ::core::option::Option, #[prost(enumeration="OnForceClose", optional, tag="12")] pub on_force_close: ::core::option::Option, #[prost(uint32, optional, tag="13")] pub scroll_buffer_size: ::core::option::Option, #[prost(string, optional, tag="14")] pub copy_command: ::core::option::Option<::prost::alloc::string::String>, #[prost(enumeration="Clipboard", optional, tag="15")] pub copy_clipboard: ::core::option::Option, #[prost(bool, optional, tag="16")] pub copy_on_select: ::core::option::Option, #[prost(string, optional, tag="17")] pub scrollback_editor: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="18")] pub session_name: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, optional, tag="19")] pub attach_to_session: ::core::option::Option, #[prost(bool, optional, tag="20")] pub auto_layout: ::core::option::Option, #[prost(bool, optional, tag="21")] pub session_serialization: ::core::option::Option, #[prost(bool, optional, tag="22")] pub serialize_pane_viewport: ::core::option::Option, #[prost(uint32, optional, tag="23")] pub scrollback_lines_to_serialize: ::core::option::Option, #[prost(bool, optional, tag="24")] pub styled_underlines: ::core::option::Option, #[prost(uint64, optional, tag="25")] pub serialization_interval: ::core::option::Option, #[prost(bool, optional, tag="26")] pub disable_session_metadata: ::core::option::Option, #[prost(bool, optional, tag="27")] pub support_kitty_keyboard_protocol: ::core::option::Option, #[prost(bool, optional, tag="28")] pub web_server: ::core::option::Option, #[prost(enumeration="WebSharing", optional, tag="29")] pub web_sharing: ::core::option::Option, #[prost(bool, optional, tag="30")] pub stacked_resize: ::core::option::Option, #[prost(bool, optional, tag="31")] pub show_startup_tips: ::core::option::Option, #[prost(bool, optional, tag="32")] pub show_release_notes: ::core::option::Option, #[prost(bool, optional, tag="33")] pub advanced_mouse_actions: ::core::option::Option, #[prost(string, optional, tag="34")] pub web_server_ip: ::core::option::Option<::prost::alloc::string::String>, #[prost(uint32, optional, tag="35")] pub web_server_port: ::core::option::Option, #[prost(string, optional, tag="36")] pub web_server_cert: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="37")] pub web_server_key: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, optional, tag="38")] pub enforce_https_for_localhost: ::core::option::Option, #[prost(string, optional, tag="39")] pub post_command_discovery_hook: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, optional, tag="40")] pub osc8_hyperlinks: ::core::option::Option, #[prost(bool, optional, tag="41")] pub mouse_hover_effects: ::core::option::Option, #[prost(uint64, optional, tag="42")] pub client_async_worker_tasks: ::core::option::Option, #[prost(bool, optional, tag="43")] pub visual_bell: ::core::option::Option, #[prost(bool, optional, tag="44")] pub focus_follows_mouse: ::core::option::Option, #[prost(bool, optional, tag="45")] pub mouse_click_through: ::core::option::Option, #[prost(string, optional, tag="46")] pub theme_dark: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="47")] pub theme_light: ::core::option::Option<::prost::alloc::string::String>, #[prost(enumeration="MobileLayout", optional, tag="48")] pub mobile_layout: ::core::option::Option, #[prost(uint32, optional, tag="49")] pub mobile_threshold_cols: ::core::option::Option, #[prost(uint32, optional, tag="50")] pub mobile_threshold_rows: ::core::option::Option, #[prost(string, optional, tag="51")] pub pane_frame_style: ::core::option::Option<::prost::alloc::string::String>, #[prost(bool, optional, tag="52")] pub stacked_pane_list: ::core::option::Option, #[prost(enumeration="NestedSessionHandling", optional, tag="53")] pub nested_session_handling: ::core::option::Option, #[prost(bool, optional, tag="54")] pub mouse_scroll_resize: ::core::option::Option, #[prost(bool, optional, tag="55")] pub support_kitty_graphics_protocol: ::core::option::Option, } /// Pane-targeting action messages #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollUpByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollDownByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollToTopByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ScrollToBottomByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PageScrollUpByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PageScrollDownByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HalfPageScrollUpByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HalfPageScrollDownByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ResizeByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(message, optional, tag="2")] pub resize_action: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MovePaneByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(enumeration="Direction", optional, tag="2")] pub direction: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MovePaneBackwardsByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ClearScreenByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EditScrollbackByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(bool, tag="2")] pub ansi: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleFullscreenByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleNoUiFullscreenByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TogglePaneEmbedOrFloatingByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CloseFocusByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenamePaneByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(bytes="vec", tag="2")] pub name: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UndoRenamePaneByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TogglePanePinnedByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FocusPaneByPaneIdAction { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } /// Tab-targeting action messages #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UndoRenameTabByTabIdAction { #[prost(uint64, tag="1")] pub id: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleActiveSyncTabByTabIdAction { #[prost(uint64, tag="1")] pub id: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ToggleFloatingPanesByTabIdAction { #[prost(uint64, tag="1")] pub id: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PreviousSwapLayoutByTabIdAction { #[prost(uint64, tag="1")] pub id: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NextSwapLayoutByTabIdAction { #[prost(uint64, tag="1")] pub id: u64, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MoveTabByTabIdAction { #[prost(uint64, tag="1")] pub id: u64, #[prost(enumeration="Direction", tag="2")] pub direction: i32, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum BareKey { Unspecified = 0, PageDown = 1, PageUp = 2, Left = 3, Down = 4, Up = 5, Right = 6, Home = 7, End = 8, Backspace = 9, Delete = 10, Insert = 11, F1 = 12, F2 = 13, F3 = 14, F4 = 15, F5 = 16, F6 = 17, F7 = 18, F8 = 19, F9 = 20, F10 = 21, F11 = 22, F12 = 23, Char = 24, Tab = 25, Esc = 26, Enter = 27, CapsLock = 28, ScrollLock = 29, NumLock = 30, PrintScreen = 31, Pause = 32, Menu = 33, } impl BareKey { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { BareKey::Unspecified => "BARE_KEY_UNSPECIFIED", BareKey::PageDown => "BARE_KEY_PAGE_DOWN", BareKey::PageUp => "BARE_KEY_PAGE_UP", BareKey::Left => "BARE_KEY_LEFT", BareKey::Down => "BARE_KEY_DOWN", BareKey::Up => "BARE_KEY_UP", BareKey::Right => "BARE_KEY_RIGHT", BareKey::Home => "BARE_KEY_HOME", BareKey::End => "BARE_KEY_END", BareKey::Backspace => "BARE_KEY_BACKSPACE", BareKey::Delete => "BARE_KEY_DELETE", BareKey::Insert => "BARE_KEY_INSERT", BareKey::F1 => "BARE_KEY_F1", BareKey::F2 => "BARE_KEY_F2", BareKey::F3 => "BARE_KEY_F3", BareKey::F4 => "BARE_KEY_F4", BareKey::F5 => "BARE_KEY_F5", BareKey::F6 => "BARE_KEY_F6", BareKey::F7 => "BARE_KEY_F7", BareKey::F8 => "BARE_KEY_F8", BareKey::F9 => "BARE_KEY_F9", BareKey::F10 => "BARE_KEY_F10", BareKey::F11 => "BARE_KEY_F11", BareKey::F12 => "BARE_KEY_F12", BareKey::Char => "BARE_KEY_CHAR", BareKey::Tab => "BARE_KEY_TAB", BareKey::Esc => "BARE_KEY_ESC", BareKey::Enter => "BARE_KEY_ENTER", BareKey::CapsLock => "BARE_KEY_CAPS_LOCK", BareKey::ScrollLock => "BARE_KEY_SCROLL_LOCK", BareKey::NumLock => "BARE_KEY_NUM_LOCK", BareKey::PrintScreen => "BARE_KEY_PRINT_SCREEN", BareKey::Pause => "BARE_KEY_PAUSE", BareKey::Menu => "BARE_KEY_MENU", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "BARE_KEY_UNSPECIFIED" => Some(Self::Unspecified), "BARE_KEY_PAGE_DOWN" => Some(Self::PageDown), "BARE_KEY_PAGE_UP" => Some(Self::PageUp), "BARE_KEY_LEFT" => Some(Self::Left), "BARE_KEY_DOWN" => Some(Self::Down), "BARE_KEY_UP" => Some(Self::Up), "BARE_KEY_RIGHT" => Some(Self::Right), "BARE_KEY_HOME" => Some(Self::Home), "BARE_KEY_END" => Some(Self::End), "BARE_KEY_BACKSPACE" => Some(Self::Backspace), "BARE_KEY_DELETE" => Some(Self::Delete), "BARE_KEY_INSERT" => Some(Self::Insert), "BARE_KEY_F1" => Some(Self::F1), "BARE_KEY_F2" => Some(Self::F2), "BARE_KEY_F3" => Some(Self::F3), "BARE_KEY_F4" => Some(Self::F4), "BARE_KEY_F5" => Some(Self::F5), "BARE_KEY_F6" => Some(Self::F6), "BARE_KEY_F7" => Some(Self::F7), "BARE_KEY_F8" => Some(Self::F8), "BARE_KEY_F9" => Some(Self::F9), "BARE_KEY_F10" => Some(Self::F10), "BARE_KEY_F11" => Some(Self::F11), "BARE_KEY_F12" => Some(Self::F12), "BARE_KEY_CHAR" => Some(Self::Char), "BARE_KEY_TAB" => Some(Self::Tab), "BARE_KEY_ESC" => Some(Self::Esc), "BARE_KEY_ENTER" => Some(Self::Enter), "BARE_KEY_CAPS_LOCK" => Some(Self::CapsLock), "BARE_KEY_SCROLL_LOCK" => Some(Self::ScrollLock), "BARE_KEY_NUM_LOCK" => Some(Self::NumLock), "BARE_KEY_PRINT_SCREEN" => Some(Self::PrintScreen), "BARE_KEY_PAUSE" => Some(Self::Pause), "BARE_KEY_MENU" => Some(Self::Menu), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum KeyModifier { Unspecified = 0, Ctrl = 1, Alt = 2, Shift = 3, Super = 4, } impl KeyModifier { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { KeyModifier::Unspecified => "KEY_MODIFIER_UNSPECIFIED", KeyModifier::Ctrl => "KEY_MODIFIER_CTRL", KeyModifier::Alt => "KEY_MODIFIER_ALT", KeyModifier::Shift => "KEY_MODIFIER_SHIFT", KeyModifier::Super => "KEY_MODIFIER_SUPER", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "KEY_MODIFIER_UNSPECIFIED" => Some(Self::Unspecified), "KEY_MODIFIER_CTRL" => Some(Self::Ctrl), "KEY_MODIFIER_ALT" => Some(Self::Alt), "KEY_MODIFIER_SHIFT" => Some(Self::Shift), "KEY_MODIFIER_SUPER" => Some(Self::Super), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum AnsiCode { Unspecified = 0, Black = 1, Red = 2, Green = 3, Yellow = 4, Blue = 5, Magenta = 6, Cyan = 7, White = 8, BrightBlack = 9, BrightRed = 10, BrightGreen = 11, BrightYellow = 12, BrightBlue = 13, BrightMagenta = 14, BrightCyan = 15, BrightWhite = 16, } impl AnsiCode { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { AnsiCode::Unspecified => "ANSI_CODE_UNSPECIFIED", AnsiCode::Black => "BLACK", AnsiCode::Red => "RED", AnsiCode::Green => "GREEN", AnsiCode::Yellow => "YELLOW", AnsiCode::Blue => "BLUE", AnsiCode::Magenta => "MAGENTA", AnsiCode::Cyan => "CYAN", AnsiCode::White => "WHITE", AnsiCode::BrightBlack => "BRIGHT_BLACK", AnsiCode::BrightRed => "BRIGHT_RED", AnsiCode::BrightGreen => "BRIGHT_GREEN", AnsiCode::BrightYellow => "BRIGHT_YELLOW", AnsiCode::BrightBlue => "BRIGHT_BLUE", AnsiCode::BrightMagenta => "BRIGHT_MAGENTA", AnsiCode::BrightCyan => "BRIGHT_CYAN", AnsiCode::BrightWhite => "BRIGHT_WHITE", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "ANSI_CODE_UNSPECIFIED" => Some(Self::Unspecified), "BLACK" => Some(Self::Black), "RED" => Some(Self::Red), "GREEN" => Some(Self::Green), "YELLOW" => Some(Self::Yellow), "BLUE" => Some(Self::Blue), "MAGENTA" => Some(Self::Magenta), "CYAN" => Some(Self::Cyan), "WHITE" => Some(Self::White), "BRIGHT_BLACK" => Some(Self::BrightBlack), "BRIGHT_RED" => Some(Self::BrightRed), "BRIGHT_GREEN" => Some(Self::BrightGreen), "BRIGHT_YELLOW" => Some(Self::BrightYellow), "BRIGHT_BLUE" => Some(Self::BrightBlue), "BRIGHT_MAGENTA" => Some(Self::BrightMagenta), "BRIGHT_CYAN" => Some(Self::BrightCyan), "BRIGHT_WHITE" => Some(Self::BrightWhite), _ => None, } } } /// Supporting enums and messages #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum InputMode { Unspecified = 0, Normal = 1, Locked = 2, Resize = 3, Pane = 4, Tab = 5, Scroll = 6, EnterSearch = 7, Search = 8, RenameTab = 9, RenamePane = 10, Session = 11, Move = 12, Prompt = 13, Tmux = 14, } impl InputMode { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { InputMode::Unspecified => "INPUT_MODE_UNSPECIFIED", InputMode::Normal => "INPUT_MODE_NORMAL", InputMode::Locked => "INPUT_MODE_LOCKED", InputMode::Resize => "INPUT_MODE_RESIZE", InputMode::Pane => "INPUT_MODE_PANE", InputMode::Tab => "INPUT_MODE_TAB", InputMode::Scroll => "INPUT_MODE_SCROLL", InputMode::EnterSearch => "INPUT_MODE_ENTER_SEARCH", InputMode::Search => "INPUT_MODE_SEARCH", InputMode::RenameTab => "INPUT_MODE_RENAME_TAB", InputMode::RenamePane => "INPUT_MODE_RENAME_PANE", InputMode::Session => "INPUT_MODE_SESSION", InputMode::Move => "INPUT_MODE_MOVE", InputMode::Prompt => "INPUT_MODE_PROMPT", InputMode::Tmux => "INPUT_MODE_TMUX", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "INPUT_MODE_UNSPECIFIED" => Some(Self::Unspecified), "INPUT_MODE_NORMAL" => Some(Self::Normal), "INPUT_MODE_LOCKED" => Some(Self::Locked), "INPUT_MODE_RESIZE" => Some(Self::Resize), "INPUT_MODE_PANE" => Some(Self::Pane), "INPUT_MODE_TAB" => Some(Self::Tab), "INPUT_MODE_SCROLL" => Some(Self::Scroll), "INPUT_MODE_ENTER_SEARCH" => Some(Self::EnterSearch), "INPUT_MODE_SEARCH" => Some(Self::Search), "INPUT_MODE_RENAME_TAB" => Some(Self::RenameTab), "INPUT_MODE_RENAME_PANE" => Some(Self::RenamePane), "INPUT_MODE_SESSION" => Some(Self::Session), "INPUT_MODE_MOVE" => Some(Self::Move), "INPUT_MODE_PROMPT" => Some(Self::Prompt), "INPUT_MODE_TMUX" => Some(Self::Tmux), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum Direction { Unspecified = 0, Left = 1, Right = 2, Up = 3, Down = 4, } impl Direction { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { Direction::Unspecified => "DIRECTION_UNSPECIFIED", Direction::Left => "DIRECTION_LEFT", Direction::Right => "DIRECTION_RIGHT", Direction::Up => "DIRECTION_UP", Direction::Down => "DIRECTION_DOWN", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "DIRECTION_UNSPECIFIED" => Some(Self::Unspecified), "DIRECTION_LEFT" => Some(Self::Left), "DIRECTION_RIGHT" => Some(Self::Right), "DIRECTION_UP" => Some(Self::Up), "DIRECTION_DOWN" => Some(Self::Down), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum UnblockCondition { Unspecified = 0, OnExitSuccess = 1, OnExitFailure = 2, OnAnyExit = 3, } impl UnblockCondition { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { UnblockCondition::Unspecified => "UNBLOCK_CONDITION_UNSPECIFIED", UnblockCondition::OnExitSuccess => "UNBLOCK_CONDITION_ON_EXIT_SUCCESS", UnblockCondition::OnExitFailure => "UNBLOCK_CONDITION_ON_EXIT_FAILURE", UnblockCondition::OnAnyExit => "UNBLOCK_CONDITION_ON_ANY_EXIT", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "UNBLOCK_CONDITION_UNSPECIFIED" => Some(Self::Unspecified), "UNBLOCK_CONDITION_ON_EXIT_SUCCESS" => Some(Self::OnExitSuccess), "UNBLOCK_CONDITION_ON_EXIT_FAILURE" => Some(Self::OnExitFailure), "UNBLOCK_CONDITION_ON_ANY_EXIT" => Some(Self::OnAnyExit), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum ResizeType { Unspecified = 0, Increase = 1, Decrease = 2, } impl ResizeType { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { ResizeType::Unspecified => "RESIZE_TYPE_UNSPECIFIED", ResizeType::Increase => "RESIZE_TYPE_INCREASE", ResizeType::Decrease => "RESIZE_TYPE_DECREASE", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "RESIZE_TYPE_UNSPECIFIED" => Some(Self::Unspecified), "RESIZE_TYPE_INCREASE" => Some(Self::Increase), "RESIZE_TYPE_DECREASE" => Some(Self::Decrease), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum ExitReason { Unspecified = 0, Normal = 1, NormalDetached = 2, ForceDetached = 3, CannotAttach = 4, Disconnect = 5, WebClientsForbidden = 6, Error = 7, CustomExitStatus = 8, KickedByHost = 9, } impl ExitReason { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { ExitReason::Unspecified => "EXIT_REASON_UNSPECIFIED", ExitReason::Normal => "EXIT_REASON_NORMAL", ExitReason::NormalDetached => "EXIT_REASON_NORMAL_DETACHED", ExitReason::ForceDetached => "EXIT_REASON_FORCE_DETACHED", ExitReason::CannotAttach => "EXIT_REASON_CANNOT_ATTACH", ExitReason::Disconnect => "EXIT_REASON_DISCONNECT", ExitReason::WebClientsForbidden => "EXIT_REASON_WEB_CLIENTS_FORBIDDEN", ExitReason::Error => "EXIT_REASON_ERROR", ExitReason::CustomExitStatus => "EXIT_REASON_CUSTOM_EXIT_STATUS", ExitReason::KickedByHost => "EXIT_REASON_KICKED_BY_HOST", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "EXIT_REASON_UNSPECIFIED" => Some(Self::Unspecified), "EXIT_REASON_NORMAL" => Some(Self::Normal), "EXIT_REASON_NORMAL_DETACHED" => Some(Self::NormalDetached), "EXIT_REASON_FORCE_DETACHED" => Some(Self::ForceDetached), "EXIT_REASON_CANNOT_ATTACH" => Some(Self::CannotAttach), "EXIT_REASON_DISCONNECT" => Some(Self::Disconnect), "EXIT_REASON_WEB_CLIENTS_FORBIDDEN" => Some(Self::WebClientsForbidden), "EXIT_REASON_ERROR" => Some(Self::Error), "EXIT_REASON_CUSTOM_EXIT_STATUS" => Some(Self::CustomExitStatus), "EXIT_REASON_KICKED_BY_HOST" => Some(Self::KickedByHost), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum MouseEventType { Unspecified = 0, Press = 1, Release = 2, Motion = 3, } impl MouseEventType { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { MouseEventType::Unspecified => "MOUSE_EVENT_TYPE_UNSPECIFIED", MouseEventType::Press => "MOUSE_EVENT_TYPE_PRESS", MouseEventType::Release => "MOUSE_EVENT_TYPE_RELEASE", MouseEventType::Motion => "MOUSE_EVENT_TYPE_MOTION", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "MOUSE_EVENT_TYPE_UNSPECIFIED" => Some(Self::Unspecified), "MOUSE_EVENT_TYPE_PRESS" => Some(Self::Press), "MOUSE_EVENT_TYPE_RELEASE" => Some(Self::Release), "MOUSE_EVENT_TYPE_MOTION" => Some(Self::Motion), _ => None, } } } // Note: Old MousePressEvent, MouseReleaseEvent, MouseHoldEvent, MouseScrollEvent, // MouseButton, and ScrollDirection removed - replaced with unified MouseEvent structure #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum SearchDirection { Unspecified = 0, /// Changed from FORWARD to match Rust enum Down = 1, /// Changed from BACKWARD to match Rust enum Up = 2, } impl SearchDirection { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { SearchDirection::Unspecified => "SEARCH_DIRECTION_UNSPECIFIED", SearchDirection::Down => "SEARCH_DIRECTION_DOWN", SearchDirection::Up => "SEARCH_DIRECTION_UP", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "SEARCH_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified), "SEARCH_DIRECTION_DOWN" => Some(Self::Down), "SEARCH_DIRECTION_UP" => Some(Self::Up), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum SearchOption { Unspecified = 0, /// Changed from CASE_SENSITIVE to match Rust enum CaseSensitivity = 1, /// Changed from WHOLE_WORDS to match Rust enum WholeWord = 2, /// Unchanged - already matches Wrap = 3, } impl SearchOption { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { SearchOption::Unspecified => "SEARCH_OPTION_UNSPECIFIED", SearchOption::CaseSensitivity => "SEARCH_OPTION_CASE_SENSITIVITY", SearchOption::WholeWord => "SEARCH_OPTION_WHOLE_WORD", SearchOption::Wrap => "SEARCH_OPTION_WRAP", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "SEARCH_OPTION_UNSPECIFIED" => Some(Self::Unspecified), "SEARCH_OPTION_CASE_SENSITIVITY" => Some(Self::CaseSensitivity), "SEARCH_OPTION_WHOLE_WORD" => Some(Self::WholeWord), "SEARCH_OPTION_WRAP" => Some(Self::Wrap), _ => None, } } } // Additional missing supporting types #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum SplitDirection { Unspecified = 0, Horizontal = 1, Vertical = 2, } impl SplitDirection { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { SplitDirection::Unspecified => "SPLIT_DIRECTION_UNSPECIFIED", SplitDirection::Horizontal => "SPLIT_DIRECTION_HORIZONTAL", SplitDirection::Vertical => "SPLIT_DIRECTION_VERTICAL", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "SPLIT_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified), "SPLIT_DIRECTION_HORIZONTAL" => Some(Self::Horizontal), "SPLIT_DIRECTION_VERTICAL" => Some(Self::Vertical), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum LayoutConstraint { Unspecified = 0, MaxPanes = 1, MinPanes = 2, ExactPanes = 3, NoConstraint = 4, } impl LayoutConstraint { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { LayoutConstraint::Unspecified => "LAYOUT_CONSTRAINT_UNSPECIFIED", LayoutConstraint::MaxPanes => "LAYOUT_CONSTRAINT_MAX_PANES", LayoutConstraint::MinPanes => "LAYOUT_CONSTRAINT_MIN_PANES", LayoutConstraint::ExactPanes => "LAYOUT_CONSTRAINT_EXACT_PANES", LayoutConstraint::NoConstraint => "LAYOUT_CONSTRAINT_NO_CONSTRAINT", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "LAYOUT_CONSTRAINT_UNSPECIFIED" => Some(Self::Unspecified), "LAYOUT_CONSTRAINT_MAX_PANES" => Some(Self::MaxPanes), "LAYOUT_CONSTRAINT_MIN_PANES" => Some(Self::MinPanes), "LAYOUT_CONSTRAINT_EXACT_PANES" => Some(Self::ExactPanes), "LAYOUT_CONSTRAINT_NO_CONSTRAINT" => Some(Self::NoConstraint), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum RunPluginLocation { Unspecified = 0, File = 1, Zellij = 2, Remote = 3, } impl RunPluginLocation { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { RunPluginLocation::Unspecified => "RUN_PLUGIN_LOCATION_UNSPECIFIED", RunPluginLocation::File => "RUN_PLUGIN_LOCATION_FILE", RunPluginLocation::Zellij => "RUN_PLUGIN_LOCATION_ZELLIJ", RunPluginLocation::Remote => "RUN_PLUGIN_LOCATION_REMOTE", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "RUN_PLUGIN_LOCATION_UNSPECIFIED" => Some(Self::Unspecified), "RUN_PLUGIN_LOCATION_FILE" => Some(Self::File), "RUN_PLUGIN_LOCATION_ZELLIJ" => Some(Self::Zellij), "RUN_PLUGIN_LOCATION_REMOTE" => Some(Self::Remote), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum OnForceClose { Unspecified = 0, Quit = 1, Detach = 2, } impl OnForceClose { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { OnForceClose::Unspecified => "ON_FORCE_CLOSE_UNSPECIFIED", OnForceClose::Quit => "ON_FORCE_CLOSE_QUIT", OnForceClose::Detach => "ON_FORCE_CLOSE_DETACH", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "ON_FORCE_CLOSE_UNSPECIFIED" => Some(Self::Unspecified), "ON_FORCE_CLOSE_QUIT" => Some(Self::Quit), "ON_FORCE_CLOSE_DETACH" => Some(Self::Detach), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum Clipboard { Unspecified = 0, System = 1, Primary = 2, } impl Clipboard { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { Clipboard::Unspecified => "CLIPBOARD_UNSPECIFIED", Clipboard::System => "CLIPBOARD_SYSTEM", Clipboard::Primary => "CLIPBOARD_PRIMARY", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "CLIPBOARD_UNSPECIFIED" => Some(Self::Unspecified), "CLIPBOARD_SYSTEM" => Some(Self::System), "CLIPBOARD_PRIMARY" => Some(Self::Primary), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum StackDirection { Unspecified = 0, Horizontal = 1, Vertical = 2, } impl StackDirection { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { StackDirection::Unspecified => "STACK_DIRECTION_UNSPECIFIED", StackDirection::Horizontal => "STACK_DIRECTION_HORIZONTAL", StackDirection::Vertical => "STACK_DIRECTION_VERTICAL", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "STACK_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified), "STACK_DIRECTION_HORIZONTAL" => Some(Self::Horizontal), "STACK_DIRECTION_VERTICAL" => Some(Self::Vertical), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum WebSharing { Unspecified = 0, On = 1, Off = 2, Disabled = 3, } impl WebSharing { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { WebSharing::Unspecified => "WEB_SHARING_UNSPECIFIED", WebSharing::On => "WEB_SHARING_ON", WebSharing::Off => "WEB_SHARING_OFF", WebSharing::Disabled => "WEB_SHARING_DISABLED", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "WEB_SHARING_UNSPECIFIED" => Some(Self::Unspecified), "WEB_SHARING_ON" => Some(Self::On), "WEB_SHARING_OFF" => Some(Self::Off), "WEB_SHARING_DISABLED" => Some(Self::Disabled), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum MobileLayout { Unspecified = 0, Web = 1, Always = 2, Never = 3, } impl MobileLayout { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { MobileLayout::Unspecified => "MOBILE_LAYOUT_UNSPECIFIED", MobileLayout::Web => "MOBILE_LAYOUT_WEB", MobileLayout::Always => "MOBILE_LAYOUT_ALWAYS", MobileLayout::Never => "MOBILE_LAYOUT_NEVER", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "MOBILE_LAYOUT_UNSPECIFIED" => Some(Self::Unspecified), "MOBILE_LAYOUT_WEB" => Some(Self::Web), "MOBILE_LAYOUT_ALWAYS" => Some(Self::Always), "MOBILE_LAYOUT_NEVER" => Some(Self::Never), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum NestedSessionHandling { Unspecified = 0, Ask = 1, Fullscreen = 2, Descend = 3, Never = 4, } impl NestedSessionHandling { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { NestedSessionHandling::Unspecified => "NESTED_SESSION_HANDLING_UNSPECIFIED", NestedSessionHandling::Ask => "NESTED_SESSION_HANDLING_ASK", NestedSessionHandling::Fullscreen => "NESTED_SESSION_HANDLING_FULLSCREEN", NestedSessionHandling::Descend => "NESTED_SESSION_HANDLING_DESCEND", NestedSessionHandling::Never => "NESTED_SESSION_HANDLING_NEVER", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "NESTED_SESSION_HANDLING_UNSPECIFIED" => Some(Self::Unspecified), "NESTED_SESSION_HANDLING_ASK" => Some(Self::Ask), "NESTED_SESSION_HANDLING_FULLSCREEN" => Some(Self::Fullscreen), "NESTED_SESSION_HANDLING_DESCEND" => Some(Self::Descend), "NESTED_SESSION_HANDLING_NEVER" => Some(Self::Never), _ => None, } } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ClientToServerMsg { #[prost(oneof="client_to_server_msg::Message", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23")] pub message: ::core::option::Option, } /// Nested message and enum types in `ClientToServerMsg`. pub mod client_to_server_msg { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Message { #[prost(message, tag="1")] DetachSession(super::DetachSessionMsg), #[prost(message, tag="2")] TerminalPixelDimensions(super::TerminalPixelDimensionsMsg), #[prost(message, tag="3")] BackgroundColor(super::BackgroundColorMsg), #[prost(message, tag="4")] ForegroundColor(super::ForegroundColorMsg), #[prost(message, tag="5")] ColorRegisters(super::ColorRegistersMsg), #[prost(message, tag="6")] TerminalResize(super::TerminalResizeMsg), #[prost(message, tag="7")] FirstClientConnected(super::FirstClientConnectedMsg), #[prost(message, tag="8")] AttachClient(super::AttachClientMsg), #[prost(message, tag="9")] Action(super::ActionMsg), #[prost(message, tag="10")] Key(super::KeyMsg), #[prost(message, tag="11")] ClientExited(super::ClientExitedMsg), #[prost(message, tag="12")] KillSession(super::KillSessionMsg), #[prost(message, tag="13")] ConnStatus(super::ConnStatusMsg), #[prost(message, tag="14")] WebServerStarted(super::WebServerStartedMsg), #[prost(message, tag="15")] FailedToStartWebServer(super::FailedToStartWebServerMsg), #[prost(message, tag="16")] AttachWatcherClient(super::AttachWatcherClientMsg), #[prost(message, tag="17")] SubscribeToPaneRenders(super::SubscribeToPaneRendersMsg), #[prost(message, tag="18")] DesktopNotificationResponse(super::DesktopNotificationResponseMsg), #[prost(message, tag="19")] ForwardedReplyFromHost(super::ForwardedReplyFromHostMsg), #[prost(message, tag="20")] HostTerminalThemeChanged(super::HostTerminalThemeChangedMsg), #[prost(message, tag="21")] SoftKeyboardVisibilityChanged(super::SoftKeyboardVisibilityChangedMsg), #[prost(message, tag="22")] NestedSessionFrameFromHost(super::NestedSessionFrameFromHostMsg), #[prost(message, tag="23")] KittyGraphicsSupport(super::KittyGraphicsSupportMsg), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DetachSessionMsg { #[prost(uint32, repeated, tag="1")] pub client_ids: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TerminalPixelDimensionsMsg { #[prost(message, optional, tag="1")] pub pixel_dimensions: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BackgroundColorMsg { #[prost(string, tag="1")] pub color: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ForegroundColorMsg { #[prost(string, tag="1")] pub color: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ColorRegistersMsg { #[prost(message, repeated, tag="1")] pub color_registers: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TerminalResizeMsg { #[prost(message, optional, tag="1")] pub new_size: ::core::option::Option, #[prost(enumeration="ResizeCause", tag="2")] pub cause: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FirstClientConnectedMsg { #[prost(message, optional, tag="1")] pub cli_assets: ::core::option::Option, #[prost(bool, tag="2")] pub is_web_client: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AttachClientMsg { #[prost(message, optional, tag="1")] pub cli_assets: ::core::option::Option, #[prost(uint32, optional, tag="2")] pub tab_position_to_focus: ::core::option::Option, #[prost(message, optional, tag="3")] pub pane_to_focus: ::core::option::Option, #[prost(bool, tag="4")] pub is_web_client: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AttachWatcherClientMsg { #[prost(message, optional, tag="1")] pub terminal_size: ::core::option::Option, #[prost(bool, tag="2")] pub is_web_client: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ActionMsg { #[prost(message, optional, tag="1")] pub action: ::core::option::Option, #[prost(uint32, optional, tag="2")] pub terminal_id: ::core::option::Option, #[prost(uint32, optional, tag="3")] pub client_id: ::core::option::Option, #[prost(bool, tag="4")] pub is_cli_client: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct KeyMsg { #[prost(message, optional, tag="1")] pub key: ::core::option::Option, #[prost(uint32, repeated, tag="2")] pub raw_bytes: ::prost::alloc::vec::Vec, #[prost(bool, tag="3")] pub is_kitty_keyboard_protocol: bool, } /// Empty message #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ClientExitedMsg { } /// Empty message #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct KillSessionMsg { } /// Empty message (just indicates connection status request) #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConnStatusMsg { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct WebServerStartedMsg { #[prost(string, tag="1")] pub base_url: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FailedToStartWebServerMsg { #[prost(string, tag="1")] pub error: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SubscribeToPaneRendersMsg { #[prost(message, repeated, tag="1")] pub pane_ids: ::prost::alloc::vec::Vec, #[prost(uint32, optional, tag="2")] pub scrollback: ::core::option::Option, #[prost(bool, tag="3")] pub ansi: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DesktopNotificationResponseMsg { #[prost(bytes="vec", tag="1")] pub raw_bytes: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ForwardedReplyFromHostMsg { #[prost(uint32, tag="1")] pub token: u32, #[prost(bytes="vec", tag="2")] pub reply_bytes: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HostTerminalThemeChangedMsg { #[prost(enumeration="HostTerminalThemeIndication", tag="1")] pub mode: i32, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SoftKeyboardVisibilityChangedMsg { #[prost(bool, tag="1")] pub visible: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct NestedSessionFrameFromHostMsg { #[prost(bytes="vec", tag="1")] pub payload_bytes: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct KittyGraphicsSupportMsg { #[prost(bool, tag="1")] pub supported: bool, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum ResizeCause { Viewport = 0, RenderingPreference = 1, SizeSettled = 2, } impl ResizeCause { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { ResizeCause::Viewport => "RESIZE_CAUSE_VIEWPORT", ResizeCause::RenderingPreference => "RESIZE_CAUSE_RENDERING_PREFERENCE", ResizeCause::SizeSettled => "RESIZE_CAUSE_SIZE_SETTLED", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "RESIZE_CAUSE_VIEWPORT" => Some(Self::Viewport), "RESIZE_CAUSE_RENDERING_PREFERENCE" => Some(Self::RenderingPreference), "RESIZE_CAUSE_SIZE_SETTLED" => Some(Self::SizeSettled), _ => None, } } } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum HostTerminalThemeIndication { Dark = 0, Light = 1, } impl HostTerminalThemeIndication { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { HostTerminalThemeIndication::Dark => "HOST_TERMINAL_THEME_INDICATION_DARK", HostTerminalThemeIndication::Light => "HOST_TERMINAL_THEME_INDICATION_LIGHT", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { "HOST_TERMINAL_THEME_INDICATION_DARK" => Some(Self::Dark), "HOST_TERMINAL_THEME_INDICATION_LIGHT" => Some(Self::Light), _ => None, } } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServerToClientMsg { #[prost(oneof="server_to_client_msg::Message", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18")] pub message: ::core::option::Option, } /// Nested message and enum types in `ServerToClientMsg`. pub mod server_to_client_msg { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Message { #[prost(message, tag="1")] Render(super::RenderMsg), #[prost(message, tag="2")] UnblockInputThread(super::UnblockInputThreadMsg), #[prost(message, tag="3")] Exit(super::ExitMsg), #[prost(message, tag="4")] Connected(super::ConnectedMsg), #[prost(message, tag="5")] Log(super::LogMsg), #[prost(message, tag="6")] LogError(super::LogErrorMsg), #[prost(message, tag="7")] SwitchSession(super::SwitchSessionMsg), #[prost(message, tag="8")] UnblockCliPipeInput(super::UnblockCliPipeInputMsg), #[prost(message, tag="9")] CliPipeOutput(super::CliPipeOutputMsg), #[prost(message, tag="10")] QueryTerminalSize(super::QueryTerminalSizeMsg), #[prost(message, tag="11")] StartWebServer(super::StartWebServerMsg), #[prost(message, tag="12")] RenamedSession(super::RenamedSessionMsg), #[prost(message, tag="13")] ConfigFileUpdated(super::ConfigFileUpdatedMsg), #[prost(message, tag="14")] PaneRenderUpdate(super::PaneRenderUpdateMsg), #[prost(message, tag="15")] SubscribedPaneClosed(super::SubscribedPaneClosedMsg), #[prost(message, tag="16")] ForwardQueryToHost(super::ForwardQueryToHostMsg), #[prost(message, tag="17")] SetSoftKeyboard(super::SetSoftKeyboardMsg), #[prost(message, tag="18")] EmitNestedSessionFrame(super::EmitNestedSessionFrameMsg), } } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenderMsg { #[prost(string, tag="1")] pub content: ::prost::alloc::string::String, } /// Empty message #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UnblockInputThreadMsg { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ExitMsg { #[prost(enumeration="ExitReason", tag="1")] pub exit_reason: i32, #[prost(string, optional, tag="2")] pub payload: ::core::option::Option<::prost::alloc::string::String>, } /// Empty message #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConnectedMsg { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LogMsg { #[prost(string, repeated, tag="1")] pub lines: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LogErrorMsg { #[prost(string, repeated, tag="1")] pub lines: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SwitchSessionMsg { #[prost(message, optional, tag="1")] pub connect_to_session: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UnblockCliPipeInputMsg { #[prost(string, tag="1")] pub pipe_name: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CliPipeOutputMsg { #[prost(string, tag="1")] pub pipe_name: ::prost::alloc::string::String, #[prost(string, tag="2")] pub output: ::prost::alloc::string::String, } /// Empty message #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryTerminalSizeMsg { } /// Empty message #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct StartWebServerMsg { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RenamedSessionMsg { #[prost(string, tag="1")] pub name: ::prost::alloc::string::String, } /// Empty message #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConfigFileUpdatedMsg { } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PaneRenderUpdateMsg { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, #[prost(string, repeated, tag="2")] pub viewport: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, repeated, tag="3")] pub scrollback: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(bool, tag="4")] pub has_scrollback: bool, #[prost(bool, tag="5")] pub is_initial: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SubscribedPaneClosedMsg { #[prost(message, optional, tag="1")] pub pane_id: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ForwardQueryToHostMsg { #[prost(uint32, tag="1")] pub token: u32, #[prost(bytes="vec", tag="2")] pub query_bytes: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetSoftKeyboardMsg { #[prost(bool, tag="1")] pub on: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EmitNestedSessionFrameMsg { #[prost(bytes="vec", tag="1")] pub payload_bytes: ::prost::alloc::vec::Vec, }