Dock 菜单
在 macOS 上,Dock 是一个用于显示打开和经常使用的应用程序的界面元素。 每个应用程序在打开或固定时,都有自己的图标在 Dock 中。
Dock API
所有 Dock 功能都通过 app.dock 属性中的 Dock 类暴露。 每个 Electron 应用只有一个 Dock 实例,并且它只存在于 macOS。
应用的 Dock 图标的主要用途之一是显示额外的应用菜单。 Dock 菜单是由右键单击或 Ctrl+单击应用图标触发的。 默认情况下,应用的 Dock 菜单将带有系统提供的窗口管理工具,包括显示所有窗口、隐藏应用程序和切换不同的打开窗口的功能。
通过传递任何 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