Files
ghostty-rs/crates/ghostty-macos/src/app/menu_spec/generated.rs
T
ddidderr 0137168c66 feat(macos): foundation of the macOS app ported from Swift to Rust
Phase 9, MA1: crates/ghostty-macos (AppKit via objc2; empty stub on
non-Apple targets) ports the foundation of Ghostty 1.3.1's Swift macOS
app (ghostty/macos): main, AppDelegate (+Ghostty) with lifecycle, dock
menu, open-file, notifications, shortcut sync and quit/reopen paths;
MainMenu.xib as generated menu tables built into NSMenus; the
Ghostty.App/Config/Surface wrappers driving libghostty in-process via
ghostty-lib; the generic helpers; scripts/macos-bundle.sh to assemble
Ghostty.app (dry-run on Linux). Feature areas are stubbed for MA2-MA5.
Design and type mapping: docs/rewrite/notes/macos-app-design.md
(App Intents is a Swift-only framework and cannot be ported).

Compile-checked only (no macOS here): just check-macos passes for
aarch64/x86_64-apple-darwin with -D warnings; 125 platform-independent
tests run on Linux.

Test Plan:
- just check-macos
- cargo test -p ghostty-macos
2026-10-12 19:25:44 +02:00

917 lines
40 KiB
Rust

//! GENERATED by scripts/gen-macos-menu-spec.py from MainMenu.xib; do not edit.
//!
//! Every menu item of the xib: title, key equivalent, modifier mask, action
//! selector + target (`-1` first responder / the AppDelegate) and the AppDelegate
//! outlet it is connected to.
use super::{Action, Item, ItemSpec, MenuSpec, Mods, Outlet, SystemMenu, Target};
/// The main menu (`systemMenu="main"`).
pub const MAIN_MENU: MenuSpec = MenuSpec {
title: "Main Menu",
system_menu: Some(SystemMenu::Main),
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "Ghostty",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "Ghostty",
system_menu: Some(SystemMenu::Apple),
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "About Ghostty",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "showAbout:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuAbout),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Check for Updates...",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "checkForUpdates:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuCheckForUpdates),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Preferences…",
key_equivalent: ",",
modifiers: None,
action: Some(Action {
selector: "openConfig:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuOpenConfig),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Reload Configuration",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "reloadConfig:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuReloadConfig),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Secure Keyboard Entry",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "toggleSecureInput:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuSecureInput),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Make Ghostty the Default Terminal",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "setAsDefaultTerminal:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuSetAsDefaultTerminal),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Services",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "Services",
system_menu: None,
outlet: Some(Outlet::MenuServices),
items: &[],
}),
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Hide Ghostty",
key_equivalent: "h",
modifiers: None,
action: Some(Action {
selector: "hide:",
target: Target::FirstResponder,
}),
outlet: None,
submenu: None,
}),
ItemSpec::Item(Item {
title: "Hide Others",
key_equivalent: "h",
modifiers: Some(Mods(Mods::OPTION.0 | Mods::COMMAND.0)),
action: Some(Action {
selector: "hideOtherApplications:",
target: Target::FirstResponder,
}),
outlet: None,
submenu: None,
}),
ItemSpec::Item(Item {
title: "Show All",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "unhideAllApplications:",
target: Target::FirstResponder,
}),
outlet: None,
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Quit Ghostty",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "terminate:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuQuit),
submenu: None,
}),
],
}),
}),
ItemSpec::Item(Item {
title: "File",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "File",
system_menu: None,
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "New Window",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "newWindow:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuNewWindow),
submenu: None,
}),
ItemSpec::Item(Item {
title: "New Tab",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "newTab:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuNewTab),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Split Right",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitRight:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSplitRight),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Split Left",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitLeft:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSplitLeft),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Split Down",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitDown:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSplitDown),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Split Up",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitUp:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSplitUp),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Close",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "close:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuClose),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Close Tab",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "closeTab:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuCloseTab),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Close Window",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "closeWindow:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuCloseWindow),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Close All Windows",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "closeAllWindows:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuCloseAllWindows),
submenu: None,
}),
],
}),
}),
ItemSpec::Item(Item {
title: "Edit",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "Edit",
system_menu: None,
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "Undo",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "undo:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuUndo),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Redo",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "redo:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuRedo),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Copy",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "copy:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuCopy),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Paste",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "paste:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuPaste),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Paste Selection",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "pasteSelection:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuPasteSelection),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Select All",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "selectAll:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSelectAll),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Find",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: Some(Outlet::MenuFindParent),
submenu: Some(&MenuSpec {
title: "Find",
system_menu: None,
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "Find...",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "find:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuFind),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Find Next",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "findNext:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuFindNext),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Find Previous",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "findPrevious:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuFindPrevious),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Hide Find Bar",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "findHide:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuHideFindBar),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Use Selection for Find",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "selectionForFind:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSelectionForSearch),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Jump to Selection",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "scrollToSelection:",
target: Target::FirstResponder,
}),
outlet: None,
submenu: None,
}),
],
}),
}),
ItemSpec::Separator,
],
}),
}),
ItemSpec::Item(Item {
title: "View",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "View",
system_menu: None,
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "Reset Font Size",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "resetFontSize:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuResetFontSize),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Increase Font Size",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "increaseFontSize:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuIncreaseFontSize),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Decrease Font Size",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "decreaseFontSize:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuDecreaseFontSize),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Command Palette",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "toggleCommandPalette:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuCommandPalette),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Change Tab Title...",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "changeTabTitle:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuChangeTabTitle),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Change Terminal Title...",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "changeTitle:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuChangeTitle),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Terminal Read-only",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "toggleReadonly:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuReadonly),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Quick Terminal",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "toggleQuickTerminal:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuQuickTerminal),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Terminal Inspector",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "toggleTerminalInspector:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuTerminalInspector),
submenu: None,
}),
],
}),
}),
ItemSpec::Item(Item {
title: "Window",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "Window",
system_menu: Some(SystemMenu::Window),
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "Minimize",
key_equivalent: "m",
modifiers: None,
action: Some(Action {
selector: "performMiniaturize:",
target: Target::FirstResponder,
}),
outlet: None,
submenu: None,
}),
ItemSpec::Item(Item {
title: "Zoom",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "performZoom:",
target: Target::FirstResponder,
}),
outlet: None,
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Toggle Full Screen",
key_equivalent: "f",
modifiers: Some(Mods(Mods::CONTROL.0 | Mods::COMMAND.0)),
action: Some(Action {
selector: "toggleGhosttyFullScreen:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuToggleFullScreen),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Show/Hide All Terminals",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "toggleVisibility:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuToggleVisibility),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Zoom Split",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitZoom:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuZoomSplit),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Select Previous Split",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitMoveFocusPrevious:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuPreviousSplit),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Select Next Split",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitMoveFocusNext:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuNextSplit),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Select Split",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "Select Split",
system_menu: None,
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "Select Split Above",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitMoveFocusAbove:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSelectSplitAbove),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Select Split Below",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitMoveFocusBelow:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSelectSplitBelow),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Select Split Left",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitMoveFocusLeft:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSelectSplitLeft),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Select Split Right",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "splitMoveFocusRight:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuSelectSplitRight),
submenu: None,
}),
],
}),
}),
ItemSpec::Item(Item {
title: "Resize Split",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "Resize Split",
system_menu: None,
outlet: None,
items: &[
ItemSpec::Item(Item {
title: "Equalize Splits",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "equalizeSplits:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuEqualizeSplits),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Move Divider Up",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "moveSplitDividerUp:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuMoveSplitDividerUp),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Move Divider Down",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "moveSplitDividerDown:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuMoveSplitDividerDown),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Move Divider Left",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "moveSplitDividerLeft:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuMoveSplitDividerLeft),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Move Divider Right",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "moveSplitDividerRight:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuMoveSplitDividerRight),
submenu: None,
}),
],
}),
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Return To Default Size",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "returnToDefaultSize:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuReturnToDefaultSize),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Float on Top",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "floatOnTop:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuFloatOnTop),
submenu: None,
}),
ItemSpec::Item(Item {
title: "Use as Default",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "useAsDefault:",
target: Target::AppDelegate,
}),
outlet: Some(Outlet::MenuUseAsDefault),
submenu: None,
}),
ItemSpec::Separator,
ItemSpec::Item(Item {
title: "Bring All to Front",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: Some(Action {
selector: "arrangeInFront:",
target: Target::FirstResponder,
}),
outlet: Some(Outlet::MenuBringAllToFront),
submenu: None,
}),
],
}),
}),
ItemSpec::Item(Item {
title: "Help",
key_equivalent: "",
modifiers: Some(Mods::NONE),
action: None,
outlet: None,
submenu: Some(&MenuSpec {
title: "Help",
system_menu: Some(SystemMenu::Help),
outlet: None,
items: &[ItemSpec::Item(Item {
title: "Ghostty Help",
key_equivalent: "?",
modifiers: None,
action: Some(Action {
selector: "showHelp:",
target: Target::AppDelegate,
}),
outlet: None,
submenu: None,
})],
}),
}),
],
};
/// All outlets connected in the xib (the Swift names).
pub const CONNECTED_OUTLETS: &[Outlet] = &[
Outlet::MenuAbout,
Outlet::MenuBringAllToFront,
Outlet::MenuChangeTabTitle,
Outlet::MenuChangeTitle,
Outlet::MenuCheckForUpdates,
Outlet::MenuClose,
Outlet::MenuCloseAllWindows,
Outlet::MenuCloseTab,
Outlet::MenuCloseWindow,
Outlet::MenuCommandPalette,
Outlet::MenuCopy,
Outlet::MenuDecreaseFontSize,
Outlet::MenuEqualizeSplits,
Outlet::MenuFind,
Outlet::MenuFindNext,
Outlet::MenuFindParent,
Outlet::MenuFindPrevious,
Outlet::MenuFloatOnTop,
Outlet::MenuHideFindBar,
Outlet::MenuIncreaseFontSize,
Outlet::MenuMoveSplitDividerDown,
Outlet::MenuMoveSplitDividerLeft,
Outlet::MenuMoveSplitDividerRight,
Outlet::MenuMoveSplitDividerUp,
Outlet::MenuNewTab,
Outlet::MenuNewWindow,
Outlet::MenuNextSplit,
Outlet::MenuOpenConfig,
Outlet::MenuPaste,
Outlet::MenuPasteSelection,
Outlet::MenuPreviousSplit,
Outlet::MenuQuickTerminal,
Outlet::MenuQuit,
Outlet::MenuReadonly,
Outlet::MenuRedo,
Outlet::MenuReloadConfig,
Outlet::MenuResetFontSize,
Outlet::MenuReturnToDefaultSize,
Outlet::MenuSecureInput,
Outlet::MenuSelectAll,
Outlet::MenuSelectSplitAbove,
Outlet::MenuSelectSplitBelow,
Outlet::MenuSelectSplitLeft,
Outlet::MenuSelectSplitRight,
Outlet::MenuSelectionForSearch,
Outlet::MenuServices,
Outlet::MenuSetAsDefaultTerminal,
Outlet::MenuSplitDown,
Outlet::MenuSplitLeft,
Outlet::MenuSplitRight,
Outlet::MenuSplitUp,
Outlet::MenuTerminalInspector,
Outlet::MenuToggleFullScreen,
Outlet::MenuToggleVisibility,
Outlet::MenuUndo,
Outlet::MenuUseAsDefault,
Outlet::MenuZoomSplit,
];