Dock (macOS)

Electron有API来配置macOS Dock中的应用程序图标。 A macOS-only API exists to create a custom dock menu, but Electron also uses the app dock icon as the entry point for cross-platform features like recent documents and application progress.

一个自定义的Dock项也普遍用于为那些用户不愿意为之打开整个应用窗口的任务添加快捷方式。

Terminal.app 的 Dock 菜单:

Dock Menu

要设置您的自定义 dock 菜单,您需要使用 app.dock.setmenu API,它仅在 macOS 上可用。

示例

Quick Start Guide 中的应用开始,将以下内容更新到 main.js

  1. const { app, BrowserWindow, Menu } = require('electron')
  2. function createWindow () {
  3. const win = new BrowserWindow({
  4. width: 800,
  5. height: 600,
  6. })
  7. win.loadFile('index.html')
  8. }
  9. const dockMenu = Menu.buildFromTemplate([
  10. {
  11. label: 'New Window',
  12. click () { console.log('New Window') }
  13. }, {
  14. label: 'New Window with Settings',
  15. submenu: [
  16. { label: 'Basic' },
  17. { label: 'Pro' }
  18. ]
  19. },
  20. { label: 'New Command...' }
  21. ])
  22. app.whenReady().then(() => {
  23. if (process.platform === 'darwin') {
  24. app.dock.setMenu(dockMenu)
  25. }
  26. }).then(createWindow)
  27. app.on('window-all-closed', () => {
  28. if (process.platform !== 'darwin') {
  29. app.quit()
  30. }
  31. })
  32. app.on('activate', () => {
  33. if (BrowserWindow.getAllWindows().length === 0) {
  34. createWindow()
  35. }
  36. })

After launching the Electron application, right click the application icon. 您应该可以看到您刚刚设置的自定义菜单:

macOS dock 菜单