OSX 从 Electron 中的 Finder 中删除菜单栏

Remove menubar from Finder in Electron on OSX

我买了一本新的 mac 书,现在我正在努力让我的应用程序在 64 位 运行 mac 上运行。

但是我无法删除默认菜单栏。

是否可以通过 app.js 将我的应用程序名称从 Electron 更改为 Electron 中的其他名称,这样我就不会在 Finder 中看到 Electron(返回屏幕截图以便更好地理解)?有什么方法可以删除编辑、查看 window 和帮助菜单吗?

package.json:

{
  "name": "hello",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron-prebuilt": "^0.33.0"
  }
}

app.js:

var app = require("app"),
        BrowserWindow = require("browser-window");

app.on("ready", function() {
  var mainWindow = new BrowserWindow({
    toolbar: false,
    "skip-taskbar": true,
    "auto-hide-menu-bar": true,
    width: 800,
    height: 600
  });

  mainWindow.loadUrl("file://" + __dirname + "/index.html");
  mainWindow.setMenuBarVisibility(false);
  mainWindow.setAutoHideMenuBar(true);
  mainWindow.openDevTools();
});

index.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Hello</title>
  </head>
  <body>
    Hello world!
  </body>
</html>

创建浏览器后window执行以下操作:

mainWindow.setMenu(null);

Only works for Windows and Linux! - http://electron.atom.io/docs/api/browser-window/#winsetmenumenu-linux-windows

否则,您可以通过查看菜单上的 Electron 文档来创建自己的自定义菜单:http://electron.atom.io/docs/api/menu/

Electron这个名字在Electron.app里面的Info.plist文件里,改成你想要的。

我的电子应用程序遇到了同样的问题

我试过了mainWindow.setMenu(null);但是没用

但我注意到当应用程序 运行 时,在 dock 中显示一个电子图标,这是您的应用程序

我想也许这就是问题所在

试一试

app.dock.hide();

注意:这是一个 os x 唯一方法 (documentation)

好了

隐藏dock图标后,你的app不再有ApplicationMenu或dockMenu的默认功能,如Quit、About、Hide等...

所以你可以考虑给你的应用一个 Tray