设置浏览器窗口始终在顶部,甚至其他应用程序都是全屏的[Electron,MAC OS] [英] Set browserWindow Always on top, even other app is in fullscreen [Electron, MAC OS]

查看:156
本文介绍了设置浏览器窗口始终在顶部,甚至其他应用程序都是全屏的[Electron,MAC OS]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可以在Electron Framework中使用自定义窗位,使窗口始终在顶部,即使其他应用程序也是全屏显示?

对于本机MacOS应用程序,我发现:https://stackoverflow.com/a/27397096/5838242

他说:

window.level = Int(CGWindowLevelForKey(kCGMaximumWindowLevelKey))

在电子邮件上,我有一个浏览器窗口:

mainWindow = new BrowserWindow({width: 1400, height: 50, resizable: false, alwaysOnTop: true, y: 0, x: 0, minimizable: false, title: 'CD App', frame: false, titleBarStyle: 'hidden', type: 'desktop' });

我知道‘type’参数是重点,但此参数只有两个选项:

在MacOS上,可能的类型是桌面、纹理。 纹理文字添加金属渐变外观(NSTexturedBackround WindowMask)。 桌面类型将窗口置于桌面背景窗口级别(kCGDesktopWindowLevel-1)。请注意,桌面窗口不会接收焦点、键盘或鼠标事件,但您可以使用globalShortcut少量接收输入。

那么,有没有可能做这件事?

推荐答案

从Electron1.4.2开始,setAlwaysOnTop()接口接受可选的level参数来调整窗位,使用方法如下:

mainWindow = new BrowserWindow({ ... });
mainWindow.setAlwaysOnTop(true, 'screen');

有关可选参数的所有可能值,请参阅文档,我不确定screen在这种情况下是您想要的值,您需要尝试。

这篇关于设置浏览器窗口始终在顶部,甚至其他应用程序都是全屏的[Electron,MAC OS]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆