跳转到主要内容

Dock

Electron 提供了配置应用程序在 macOS Dock 中的图标的 API。存在一个仅限 macOS 的 API,用于创建自定义 Dock 菜单,但 Electron 也使用应用程序 Dock 图标作为跨平台功能的入口点,例如 最近使用的文档应用程序进度

自定义 Dock 通常用于添加用户不想打开整个应用程序窗口即可执行的任务的快捷方式。

Terminal.app 的 Dock 菜单

Dock Menu

要设置自定义 Dock 菜单,您需要使用 app.dock.setMenu API,该 API 仅在 macOS 上可用。

const { app, BrowserWindow, Menu } = require('electron/main')

function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600
})

win.loadFile('index.html')
}

const dockMenu = Menu.buildFromTemplate([
{
label: 'New Window',
click () { console.log('New Window') }
}, {
label: 'New Window with Settings',
submenu: [
{ label: 'Basic' },
{ label: 'Pro' }
]
},
{ label: 'New Command...' }
])

app.whenReady().then(() => {
app.dock?.setMenu(dockMenu)
}).then(createWindow)

app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})

app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})

启动 Electron 应用程序后,右键单击应用程序图标。您应该会看到刚刚定义的自定义菜单。

macOS dock menu