Electronのメニューを消す

この記事は約3分で読めます。
スポンサーリンク

やりたいこと

下の記事にてElectronを使ってWebページをWindowsの実行ファイルにビルドしてみました。

しかし、下の用にメニューが表示されます(File, Edit…の部分)。

基本的に不要(リリースするときはない方がいいDeveloperToolの表示もあります)ですので消したいと思います。

スポンサーリンク

実装

先述のページのmain.js(Electronのエントリーポイント)は以下の通りです。

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

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

  win.loadFile('file://' + __dirname + '/index.html');
}

app.whenReady().then(() => {
  createWindow()

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

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

main.jsを以下のように修正します。

修正箇所にはコメントをいれています。

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

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

  win.loadURL('file://' + __dirname + '/index.html');
}
Menu.setApplicationMenu(null);/////追加 MENUにnullを設定

app.whenReady().then(() => {
  createWindow()

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

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})
スポンサーリンク

結果

メニューが消えました。

副次的な効果として、Menuから実行できたDeveloperToolや全画面化などのキーボードからのショートカットも実行できなくなります。

スポンサーリンク

参考にさせていただいたサイト

Menu | Electron
ネイティブアプリケーションのメニューとコンテキストメニューを作成します。

コメント

タイトルとURLをコピーしました