From baa535b6098af627823cc4d26fbfb1b98d77a3ab Mon Sep 17 00:00:00 2001 From: Tunglies Date: Tue, 18 Mar 2025 18:40:53 +0800 Subject: [PATCH] feat: add macOS application menu integration --- src-tauri/src/lib.rs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 2f35a97c..43e1140d 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -11,9 +11,12 @@ use crate::{ }; use config::Config; use std::sync::{Mutex, Once}; -use tauri::AppHandle; #[cfg(target_os = "macos")] use tauri::Manager; +use tauri::{ + menu::{Menu, MenuItem, Submenu}, + AppHandle, +}; use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_deep_link::DeepLinkExt; @@ -99,7 +102,6 @@ pub fn run() { #[cfg(debug_assertions)] let devtools = tauri_plugin_devtools::init(); - #[allow(unused_mut)] let mut builder = tauri::Builder::default() .plugin(tauri_plugin_autostart::init( @@ -220,6 +222,23 @@ pub fn run() { builder = builder.plugin(devtools); } + // Macos Application Menu + #[cfg(target_os = "macos")] + { + builder = builder.menu(|handle| { + Menu::with_items( + handle, + &[&Submenu::with_items( + handle, + "Menu", + true, + &[&MenuItem::new(handle, "Clash Verge", true, None::).unwrap()], + ) + .unwrap()], + ) + }); + } + let app = builder .build(tauri::generate_context!()) .expect("error while running tauri application");