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

时间:2015-09-17 18:19:01

标签: macos menu electron menubar

我购买了一个新的macbook,我正在努力让我的应用程序在64位mac上运行。

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

无论如何通过app.js将我的应用名称从Electron更改为Electron内的其他内容,所以我在Finder中看不到Electron(为了更好地理解,请回到屏幕截图)?有没有办法删除编辑,查看窗口和帮助菜单?

screenshot

的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>

2 个答案:

答案 0 :(得分:9)

创建浏览器窗口后,请执行以下操作:

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/

答案 1 :(得分:5)

我的电子应用程序出现了同样的问题

我尝试了mainWindow.setMenu(null);,但它无效

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

我想也许这就是造成问题的重点

试一试

app.dock.hide();

注意:这是一个仅限os x的方法(documentation

你去了

enter image description here

隐藏停靠图标后,您的应用程序不再具有ApplicationMenu或dockMenu的默认功能,例如退出,关于,隐藏等...

因此,您可以考虑为您的应用提供Tray