设置浏览器窗口始终在顶部,甚至其他应用程序都是全屏的[Electron,MAC OS] [英] Set browserWindow Always on top, even other app is in fullscreen [Electron, MAC OS]
本文介绍了设置浏览器窗口始终在顶部,甚至其他应用程序都是全屏的[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屋!
查看全文