可以在Electron Framework中使用自定义窗口级别,因为make窗口始终位于顶部,甚至其他应用程序也是全屏的?
对于原生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'参数是POINT,但是这个参数只有两个选项:
在macOS上,可能的类型是桌面,纹理。 纹理类型添加金属渐变外观(NSTexturedBackgroundWindowMask)。 桌面类型将窗口置于桌面背景窗口级别(kCGDesktopWindowLevel - 1)。请注意,桌面窗口不会接收焦点,键盘或鼠标事件,但您可以使用globalShortcut来节省输入。
那么,有可能做这件事吗?
答案 0 :(得分:3)
从Electron 1.4.2开始,setAlwaysOnTop()
API会使用可选的level
参数来调整窗口级别,您可以像这样使用它:
mainWindow = new BrowserWindow({ ... });
mainWindow.setAlwaysOnTop(true, 'screen');
请参阅文档了解可选参数的所有可能值,我不确定screen
是您在这种情况下所需的值,您需要进行试验。