【问题标题】:Window manager for linux, supporting focusless windowslinux的窗口管理器,支持无焦点窗口
【发布时间】:2018-01-23 12:07:57
【问题描述】:

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

我需要在 linux 中创建一个从不获取焦点的窗口。它只是显示图像,有时是全屏显示。但是,我可以选择不使其全屏显示(少 1 个像素,因此下面的窗口可见。)。

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

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

【问题讨论】:

    标签: linux focus window-managers


    【解决方案1】:

    在 Wayland 上,由合成器决定它是否有焦点,以及将关键事件发送到哪个表面。因此,如果可能,这将取决于您使用的合成器或合成器工具包。

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

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

    【讨论】:

      猜你喜欢
      • 2018-04-25
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多