From 910b9bdb96973249b850b6265e2c30d42af7879e Mon Sep 17 00:00:00 2001 From: Makisuo Date: Sat, 28 Feb 2026 18:58:52 +0100 Subject: [PATCH] fix-native-edit-shortcuts --- apps/desktop/src-tauri/src/lib.rs | 35 +++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index eb8717e6f..ce9606011 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -257,6 +257,36 @@ pub fn run() { &[&new_channel, &PredefinedMenuItem::separator(app)?, &invite], )?; + #[cfg(target_os = "macos")] + let edit_submenu = Submenu::with_items( + app, + "Edit", + true, + &[ + &PredefinedMenuItem::undo(app, None::<&str>)?, + &PredefinedMenuItem::redo(app, None::<&str>)?, + &PredefinedMenuItem::separator(app)?, + &PredefinedMenuItem::cut(app, None::<&str>)?, + &PredefinedMenuItem::copy(app, None::<&str>)?, + &PredefinedMenuItem::paste(app, None::<&str>)?, + &PredefinedMenuItem::separator(app)?, + &PredefinedMenuItem::select_all(app, None::<&str>)?, + ], + )?; + #[cfg(not(target_os = "macos"))] + let edit_submenu = Submenu::with_items( + app, + "Edit", + true, + &[ + &PredefinedMenuItem::cut(app, None::<&str>)?, + &PredefinedMenuItem::copy(app, None::<&str>)?, + &PredefinedMenuItem::paste(app, None::<&str>)?, + &PredefinedMenuItem::separator(app)?, + &PredefinedMenuItem::select_all(app, None::<&str>)?, + ], + )?; + #[cfg(target_os = "macos")] let window_submenu = Submenu::with_items( app, @@ -266,9 +296,10 @@ pub fn run() { )?; #[cfg(target_os = "macos")] - let menu = Menu::with_items(app, &[&app_submenu, &file_submenu, &window_submenu])?; + let menu = + Menu::with_items(app, &[&app_submenu, &file_submenu, &edit_submenu, &window_submenu])?; #[cfg(not(target_os = "macos"))] - let menu = Menu::with_items(app, &[&app_submenu, &file_submenu])?; + let menu = Menu::with_items(app, &[&app_submenu, &file_submenu, &edit_submenu])?; app.set_menu(menu)?; // Handle menu events