par_term/menu/
actions.rs

1//! Menu action definitions for par-term
2//!
3//! This module defines the `MenuAction` enum that represents all possible
4//! menu actions that can be triggered from the native menu system.
5
6/// Actions that can be triggered from the menu system
7#[derive(Debug, Clone, Copy, PartialEq, Eq)]
8pub enum MenuAction {
9    // File menu
10    /// Create a new terminal window
11    NewWindow,
12    /// Close the current window
13    CloseWindow,
14    /// Quit the application (only used on Windows/Linux - macOS handles quit via system menu)
15    #[allow(dead_code)]
16    Quit,
17
18    // Tab menu
19    /// Create a new tab
20    NewTab,
21    /// Close the current tab
22    CloseTab,
23    /// Switch to next tab
24    NextTab,
25    /// Switch to previous tab
26    PreviousTab,
27    /// Switch to tab by index (1-9)
28    SwitchToTab(usize),
29    /// Move tab left (not yet implemented)
30    #[allow(dead_code)]
31    MoveTabLeft,
32    /// Move tab right (not yet implemented)
33    #[allow(dead_code)]
34    MoveTabRight,
35    /// Duplicate the current tab (not yet implemented)
36    #[allow(dead_code)]
37    DuplicateTab,
38
39    // Edit menu
40    /// Copy selected text to clipboard
41    Copy,
42    /// Paste from clipboard
43    Paste,
44    /// Select all text (not typically used in terminals)
45    SelectAll,
46    /// Clear the scrollback buffer
47    ClearScrollback,
48    /// Show clipboard history panel
49    ClipboardHistory,
50
51    // View menu
52    /// Toggle fullscreen mode
53    ToggleFullscreen,
54    /// Increase font size
55    IncreaseFontSize,
56    /// Decrease font size
57    DecreaseFontSize,
58    /// Reset font size to default
59    ResetFontSize,
60    /// Toggle FPS overlay
61    ToggleFpsOverlay,
62    /// Open settings panel
63    OpenSettings,
64
65    // Window menu (macOS)
66    /// Minimize the window
67    Minimize,
68    /// Zoom/maximize the window
69    Zoom,
70
71    // Help menu
72    /// Show keyboard shortcuts help
73    ShowHelp,
74    /// Show about dialog
75    About,
76}