电子窗焦点

时间:2017-12-13 15:48:09

标签: javascript electron

在我的Electron应用程序中,我有一个新的浏览器窗口,作为向用户发出的一种“通知”,我的(未聚焦的)应用程序中发生了一些事情。

这个新窗口有一个“忽略”通知的按钮。

问题在于,当他们点击忽略时,即使代码只是关闭窗口,主浏览器窗口也会成为焦点。

有没有办法让它与新的浏览器窗口交互也不会聚焦主浏览器窗口?

这就是我产生窗口的方式:

  getGroup(id).map(
    groupOpt => groupOpt.flatMap(
      group => addStuff(group).toOption
    )
  )

然后我对点击的“忽略”按钮做出反应:

    messageWindow = new BrowserWindow({
        width,
        height,
        y: top,
        x: left,
        alwaysOnTop: true,
        closable: true,
        minimizable: false,
        resizable: false,
        show: false,
        title: 'Message Notification',
        frame: false,
        hasShadow: false,
        acceptFirstMouse: true,
    });

    messageWindow.loadURL(
        url.format({
            pathname: path.join(app.getAppPath(),'./foo.html'),
            protocol: 'file:',
            slashes: true,
        })
    );

    messageWindow.on('closed', () => {
        messageWindow = null;
    });

    messageWindow.once('ready-to-show', () => {
        messageWindow.show();
    });

所有这些代码都有效,但焦点会返回主窗口。

0 个答案:

没有答案