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}