Dock 菜单
在 macOS 上,Dock 是一个用于显示打开和经常使用的应用程序的界面元素。 每个应用程序在打开或固定时,都有自己的图标在 Dock 中。
Dock API
所有 Dock 功能都通过 app.dock 属性中的 Dock 类暴露。 每个 Electron 应用只有一个 Dock 实例,并且它只存在于 macOS。
应用的 Dock 图标的主要用途之一是显示额外的应用菜单。 Dock 菜单是由右键单击或 Ctrl+单击应用图标触发的。 By default, the app's Dock menu will come with system-provided window management utilities, including the ability to show all windows, hide the app, and switch between different open windows.
通过传递任何 Menu 实例到 dock.setMenu API,来设置一个应用自定义 Dock 菜单。
提示
让你的 Dock 菜单感觉更原生的最佳实践,参阅 Apple 对于 Dock 菜单的 Human Interface Guidelines 。
附加上下文菜单
Setting a Dock menu
const { app, BrowserWindow, Menu } = require('electron/main')
// dock.setMenu 只能在 'ready' 时间发生后工作
app.whenReady().then(() => {
const dockMenu = Menu.buildFromTemplate([
{
label: 'New Window',
click: () => { const win = new BrowserWindow() }
}
// 在数组中添加更多的菜单项
])
// Dock 在 macOS 以外的系统为 undefined
app.dock?.setMenu(dockMenu)
})
note
与常规的上下文菜单不同,Dock 上下文菜单不需要手动使用 menu.popup API。 相反,Dock 对象帮你处理了点击事件。
提示
要了解更多关于 Electron 中制作菜单的信息,请参阅 菜单 指南。
可运行的 Fiddle demo
下面是一个可运行的示例,说明你该如何使用 Dock 菜单在你的 Electron 应用程序中创建和关闭窗口。
fiddle docs/latest/fiddles/menus/dock-menu