私はこの壁の壁に頭を向けています。私はデモ電子アプリの名前を無効にして、Electron
の代わりにカスタム名を付けようとしています。 Mac OSの電子メニューでアプリ名を上書きできません
const {app, Menu} = require('electron')
const template = [
{
label: 'New Name',
submenu:[
{
label: 'Test',
click: (menuItem, browserWindow, event) => {
console.log('menu item clicked')
}
},
{role: 'quit'}
]
},
{
label: 'test test',
submenu:[
{
label: 'Test',
click: (menuItem, browserWindow, event) => {
console.log('menu item clicked')
}
},
{role: 'quit'}
]
}
]
installApplicationMenu = function(){
const menu = Menu.buildFromTemplate(template)
let result = Menu.setApplicationMenu(menu)
}
module.exports = {
installApplicationMenu
}
そして私は私の窓を作成した後に、このモジュールを呼び出しています:私はこれを行うためのモジュールを作成し
const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')
const {installApplicationMenu} = require('./MenuInstaller')
require('electron-reload')(__dirname,{
electron: path.join(__dirname, 'node_modules', '.bin', 'electron')
})
let win
function createWindow(){
win = new BrowserWindow({
width: 800,
height: 600
})
win.loadURL(
url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
})
)
win.on('closed',() => {
win = null
})
}
app.on('ready', function(){
createWindow()
installApplicationMenu()
})
app.on('activate',() => {
if(win === null) createWindow()
})
私はこれを行うと2番目のメニューセットは、それがtest test
のカスタム名です取得しますが、メインメニュー名はまだElectron
です:
私は別のアプリケーションのI cにコードを比較してきました私はデフォルトの名前を上書きすることができましたが、このケースではオーバーライドが機能していないことに気付くことはできません。
アイデア?