メインコンテンツへ飛ぶ

Dock

Electron には macOS Dock 内のアプリアイコンを設定する API があります。 カスタム Dock メニューを作成するための macOS 専用 API は存在しますが、Electron は 最近使った書類アプリケーションのプログレス などのクロスプラットフォーム機能のエントリポイントにアプリの Dock アイコンを使用します。

カスタム Dock は、ユーザーが全てのアプリウインドウを開きたくないであろう作業のショートカット追加によく使われます。

ターミナルアプリのDockメニュー

Dockメニュー

カスタム Dock メニューを設定するには、macOS でのみ利用可能な app.dock.setMenu API を使用する必要があります。

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(() => {
if (process.platform === 'darwin') {
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 メニュー