Skip to content

Instantly share code, notes, and snippets.

@gimenete
Created June 30, 2025 17:27
Show Gist options
  • Save gimenete/f9c91fb9450b32994c577e3b5c04d4a4 to your computer and use it in GitHub Desktop.
Save gimenete/f9c91fb9450b32994c577e3b5c04d4a4 to your computer and use it in GitHub Desktop.
Default window menu tauri
import {Menu, PredefinedMenuItem, Submenu} from '@tauri-apps/api/menu'
async function createAppMenu() {
// Common menu items
const copy = await PredefinedMenuItem.new({
item: 'Copy',
})
const separator = await PredefinedMenuItem.new({
item: 'Separator',
})
const undo = await PredefinedMenuItem.new({
item: 'Undo',
})
const redo = await PredefinedMenuItem.new({
item: 'Redo',
})
const cut = await PredefinedMenuItem.new({
item: 'Cut',
})
const paste = await PredefinedMenuItem.new({
item: 'Paste',
})
const select_all = await PredefinedMenuItem.new({
item: 'SelectAll',
})
const minimize = await PredefinedMenuItem.new({
item: 'Minimize',
})
const maximize = await PredefinedMenuItem.new({
item: 'Maximize',
})
const closeWindow = await PredefinedMenuItem.new({
item: 'CloseWindow',
})
const quit = await PredefinedMenuItem.new({
item: 'Quit',
})
const hide = await PredefinedMenuItem.new({
item: 'Hide',
})
const hide_others = await PredefinedMenuItem.new({
item: 'HideOthers',
})
const show_all = await PredefinedMenuItem.new({
item: 'ShowAll',
})
const services = await PredefinedMenuItem.new({
item: 'Services',
})
const fullscreen = await PredefinedMenuItem.new({
item: 'Fullscreen',
})
const appMenu = await Submenu.new({
text: 'GitHero',
items: [separator, services, separator, hide, hide_others, show_all, separator, quit],
})
const editMenu = await Submenu.new({
text: 'Edit',
items: [undo, redo, separator, cut, copy, paste, separator, select_all],
})
const viewMenu = await Submenu.new({
text: 'View',
items: [fullscreen],
})
const windowMenu = await Submenu.new({text: 'Window', items: [minimize, maximize, separator, closeWindow]})
const helpMenu = await Submenu.new({text: 'Help', items: []})
const menu = await Menu.new({
items: [appMenu, editMenu, viewMenu, windowMenu, helpMenu],
})
await menu.setAsAppMenu()
}
createAppMenu()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment