官方仓库issue:[feat] The Window Menu does not have a hide function · Issue #4401 · tauri-apps/tauri · GitHub
tauri没有可以直接隐藏菜单栏的api,但是有些场景是我们不需要菜单显示出来的,但是还是要有复制黏贴等功能,所以不能直接隐藏menu菜单,因为隐藏之后,mac上就不能复制黏贴等操作了。
1.第一种方式,就是单独开启mac的menu,但是windows和linux还是可以隐藏的,这样windows上就可以隐藏菜单,并且也会有复制黏贴等功能。
代码:
#[cfg(any(target_os = "linux", target_os = "windows"))]
let menu = Menu::new();
#[cfg(target_os = "macos")]
let menu = Menu::new().add_submenu(Submenu::new(
"Edit",
Menu::new()
.add_native_item(MenuItem::Undo)
.add_native_item(MenuItem::Redo)
.add_native_item(MenuItem::Copy)
.add_native_item(MenuItem::Cut)
.add_native_item(MenuItem::Paste)
.add_native_item(MenuItem::SelectAll)
.add_native_item(MenuItem::CloseWindow)
.add_native_item(MenuItem::Quit),
));
2.隐藏docker栏
隐藏docker就会隐藏菜单栏,也会隐藏docker栏的图标。
.setup(|app| {
// Make the docker NOT to have an active app when started
app.set_activation_policy(tauri::ActivationPolicy::Accessory);
Ok(())
})
执行之后,就会隐藏docker图标,并且也会隐藏菜单栏图标。