【问题标题】:Remove menubar from Finder in Electron on OSX在 OSX 上的 Electron 中从 Finder 中删除菜单栏
【发布时间】:2015-12-14 17:43:05
【问题描述】:

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

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

有没有办法通过 app.js 将我的应用程序名称从 Electron 更改为 Electron 中的其他名称,所以我在 Finder 中看不到 Electron(为了更好地理解,恢复为屏幕截图)?有什么办法可以去掉编辑、查看窗口和帮助菜单?

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>

【问题讨论】:

    标签: macos menu electron menubar


    【解决方案1】:

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

    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/

    【讨论】:

    • 我也试过了,没用。我假设它是我从 npm 获得的电子预构建的一部分。我要安装一个旧版本,看看是否能解决问题
    • 您是否尝试过制作自定义菜单并进行设置?
    • 是的,我按照本教程进行操作,但没有启动,我仍然卡在默认菜单栏 - youtube.com/watch?v=K-H2amwQ_pU
    • 我返回了 10 多个版本的电子,但仍然遇到同样的问题。所以我转而使用 node-webkit,它也支持 32 位 mac。
    • 您链接的那个菜单 api 是用于上下文菜单,而不是顶部菜单的功能区栏^_^ :) 编辑:Nervermind,这个例子是我不好的第二个例子。
    【解决方案2】:

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

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

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

    我认为这可能是造成问题的关键

    试一试

    app.dock.hide();
    

    注意:这是一个仅适用于 os x 的方法 (documentation)

    你来了

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

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

    【讨论】:

      【解决方案3】:

      名称 Electron 在 Electron.app 内的 Info.plist 文件中,将其更改为您想要的名称。

      【讨论】:

      • 这很有帮助。由于电子预建,当我执行electron . 时,它不会在第一个菜单条目(在 OSX 上加粗)中更改我的应用程序名称,因为那是应用程序名称。一旦我打包了应用程序,它就可以工作了,很高兴知道。
      猜你喜欢
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2012-01-31
      • 1970-01-01
      相关资源
      最近更新 更多