Electron BrowserWindow 在聚焦时显示任务栏
Electron BrowserWindow shows taskbar when focused
我的应用程序是全屏游戏的叠加层 (alwaysOnTop),当用户单击我的叠加层时,它会获得焦点并在他们的游戏顶部显示任务栏。对焦没问题,就是任务栏显示不出来
它在 BrowserWindow docs 中说:
not a toolbox window which can not be focused on
暗示可以创建一个window无法专注
有谁知道如何创建工具箱 window,或者简单地避免在单击电子时显示任务栏 window?
我应该提到我已经尝试了 setAlwaysOnTop
和 skipTaskbar
。我还有 transparent: true
和 frame: false
.
我创建的叠加层是 "Safelane, Midlane, Offlane" 按钮。当我 运行 应用程序时,它显示在全屏应用程序 (Dota 2) 的顶部,如下所示:
点击界面后出现任务栏。全屏应用程序(Dota)失去焦点,任务栏出现在顶部这打破了体验的连续性就好了:
我希望体验与第一张图片一样——当用户点击我的叠加层中的任何内容时,任务栏不应显示。
其他解决方案信息 -- 使用下面的 Gaafar 解决方案后
在安装程序中设置 kiosk: true
似乎不允许它呈现透明。在 window 打开后在 setTimeout
中使用 setKiosk(true)
似乎可行。
我还发现任何使用 kiosk
或 fullscreen
的透明 windows 都存在渲染问题。它会在自身之上渲染多次并且无法取消渲染项目(display: none in css 什么都不做)。我解决这个问题的方法是使用 Electron Window Manager 创建一个没有任何内容的 kiosk
window 并使用 HTML / [ 创建其他非信息亭 windows =71=] 接口。结果:
- 所有接口都可以交互,鼠标和键盘。
- 渲染发生在 electron 中。
- 下面的全屏应用程序通过任何透明区域接收输入。
- 任务栏从不显示在任何输入上。
skipTaskbar: true
是为了防止在任务栏中显示您的应用程序。
要完全隐藏任务栏,请改用全屏或 kiosk 模式
fullscreen: true
要么
kiosk: true
编辑:
存在一些未解决的问题,其中全屏或信息亭模式会阻止 window 的透明度。
对我有用的解决方案是 运行 使用这些标志 --enable-transparent-visuals --disable-gpu
问题与解决方案:https://github.com/electron/electron/issues/2170#issuecomment-145942717
- showInActive();
- 设置您的浏览器窗口,可聚焦:false
我的应用程序是全屏游戏的叠加层 (alwaysOnTop),当用户单击我的叠加层时,它会获得焦点并在他们的游戏顶部显示任务栏。对焦没问题,就是任务栏显示不出来
它在 BrowserWindow docs 中说:
not a toolbox window which can not be focused on
暗示可以创建一个window无法专注
有谁知道如何创建工具箱 window,或者简单地避免在单击电子时显示任务栏 window?
我应该提到我已经尝试了 setAlwaysOnTop
和 skipTaskbar
。我还有 transparent: true
和 frame: false
.
我创建的叠加层是 "Safelane, Midlane, Offlane" 按钮。当我 运行 应用程序时,它显示在全屏应用程序 (Dota 2) 的顶部,如下所示:
点击界面后出现任务栏。全屏应用程序(Dota)失去焦点,任务栏出现在顶部这打破了体验的连续性就好了:
我希望体验与第一张图片一样——当用户点击我的叠加层中的任何内容时,任务栏不应显示。
其他解决方案信息 -- 使用下面的 Gaafar 解决方案后
在安装程序中设置 kiosk: true
似乎不允许它呈现透明。在 window 打开后在 setTimeout
中使用 setKiosk(true)
似乎可行。
我还发现任何使用 kiosk
或 fullscreen
的透明 windows 都存在渲染问题。它会在自身之上渲染多次并且无法取消渲染项目(display: none in css 什么都不做)。我解决这个问题的方法是使用 Electron Window Manager 创建一个没有任何内容的 kiosk
window 并使用 HTML / [ 创建其他非信息亭 windows =71=] 接口。结果:
- 所有接口都可以交互,鼠标和键盘。
- 渲染发生在 electron 中。
- 下面的全屏应用程序通过任何透明区域接收输入。
- 任务栏从不显示在任何输入上。
skipTaskbar: true
是为了防止在任务栏中显示您的应用程序。
要完全隐藏任务栏,请改用全屏或 kiosk 模式
fullscreen: true
要么
kiosk: true
编辑:
存在一些未解决的问题,其中全屏或信息亭模式会阻止 window 的透明度。
对我有用的解决方案是 运行 使用这些标志 --enable-transparent-visuals --disable-gpu
问题与解决方案:https://github.com/electron/electron/issues/2170#issuecomment-145942717
- showInActive();
- 设置您的浏览器窗口,可聚焦:false