Linux的窗口管理器,支持无焦点的窗口

时间:2018-01-23 12:07:57

标签: linux focus window-managers

在带有触摸屏的手臂嵌入式设备上,我有一个第三方程序(程序A),它创建了一个处理键盘按下的窗口。因此,此窗口始终必须具有焦点。这是一个封闭的来源,我没有修改它的选项。

我需要在linux中创建一个永远不会抓住焦点的窗口。它只显示一个图像,有时是全屏。但是,我有选择不使它全屏(少1个像素,因此可以看到下面的窗口。)。

现在,我只使用X服务器,但我可以安装(几乎)任何窗口管理器。

  1. 有没有办法在X中创建一个永远不会聚焦的窗口?如果我正确理解X,那么窗口下方的鼠标将会得到焦点。
  2. 是否有支持此功能的窗口管理器?
  3. 这可能与xcb或wayland有关吗?

1 个答案:

答案 0 :(得分:0)

在Wayland上,由合成器告诉客户端是否有焦点,以及将关键事件发送到哪个表面。因此,如果可能的话,它将依赖于您正在使用的合成器或合成器工具包。

KWin有一个选项听起来像你想做的。右键单击窗口标题栏,然后选择more actions -> special window settings -> accept focus

在compositor工具包中,我只知道Qt Wayland Compositor API,并且应该可以(假设您的应用程序可以作为Wayland客户端运行)。最简单的方法是使用QML API在合成器中显示图像,或者您可以在enabled: falseWaylandQuickItem上设置ShellSurfaceItem您不想获取输入焦点