Skip to content

Commit f1bde65

Browse files
committed
Only add Edit menu on macOS — Linux/Windows handle Ctrl+C/V/A natively
1 parent 484c886 commit f1bde65

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

src/app.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1780,19 +1780,23 @@ if (!mobile) {
17801780
const appMenu = menuCreate();
17811781
menuAddItem(appMenu, 'About Mango', () => { aboutWindow.show(); });
17821782

1783-
// Edit menu — standard actions routed to first responder for CMD+A/C/V/X
1784-
const editMenu = menuCreate();
1785-
menuAddStandardAction(editMenu, 'Undo', 'undo:', 'z');
1786-
menuAddStandardAction(editMenu, 'Redo', 'redo:', 'Cmd+Shift+z');
1787-
menuAddSeparator(editMenu);
1788-
menuAddStandardAction(editMenu, 'Cut', 'cut:', 'x');
1789-
menuAddStandardAction(editMenu, 'Copy', 'copy:', 'c');
1790-
menuAddStandardAction(editMenu, 'Paste', 'paste:', 'v');
1791-
menuAddStandardAction(editMenu, 'Select All', 'selectAll:', 'a');
1792-
17931783
const menuBar = menuBarCreate();
17941784
menuBarAddMenu(menuBar, 'Mango', appMenu);
1795-
menuBarAddMenu(menuBar, 'Edit', editMenu);
1785+
1786+
// macOS requires Edit menu for CMD+A/C/V/X to reach NSTextField.
1787+
// GTK4 (Linux) and Win32 (Windows) handle Ctrl+C/V/A natively.
1788+
if (__platform__ === 0) {
1789+
const editMenu = menuCreate();
1790+
menuAddStandardAction(editMenu, 'Undo', 'undo:', 'z');
1791+
menuAddStandardAction(editMenu, 'Redo', 'redo:', 'Cmd+Shift+z');
1792+
menuAddSeparator(editMenu);
1793+
menuAddStandardAction(editMenu, 'Cut', 'cut:', 'x');
1794+
menuAddStandardAction(editMenu, 'Copy', 'copy:', 'c');
1795+
menuAddStandardAction(editMenu, 'Paste', 'paste:', 'v');
1796+
menuAddStandardAction(editMenu, 'Select All', 'selectAll:', 'a');
1797+
menuBarAddMenu(menuBar, 'Edit', editMenu);
1798+
}
1799+
17961800
menuBarAttach(menuBar);
17971801
}
17981802

0 commit comments

Comments
 (0)