gpt4 book ai didi

linux - 如何使用 Wayland 显示服务器枚举所有顶级窗口?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:42 36 4
gpt4 key购买 nike

如何使用新的默认显示服务器 Wayland 在 Ubuntu 17.10 上枚举桌面上的所有顶级窗口(并进一步获取其标题和其他属性)?

之前我们使用 X11/XLib 来实现这一点,但现在有了 Wayland,这不再可靠了。一些窗口,如 gedit 和 LibreOffice 不再出现在窗口列表中,其他工具如 xwininfo 也不再适用于这些窗口。

目前我们使用以下技术:

以 X.org 作为默认显示服务器的 Ubuntu 17.04:

  • X11-XLib/X_QueryTree

window :

  • Win32-API/EnumerateWindows(还有 Windows Automation API)

苹果操作系统:

  • NSAccessibility/AXUIElementCreateApplication、AXUIElementCopyAttributeValue、kAXChildrenAttribute

带有 Wayland 的 Ubuntu 17.10:

  • ???

到目前为止,我还没有找到任何关于 Wayland 和可访问性或 UI 自动化的 API 文档。

有人可以帮忙吗?如何在 Linux/Ubuntu 上访问桌面窗口的面向 future 的解决方案/技术会很好。

问候。

最佳答案

事实上,我认为你不会。 Wayland 的设计方式使客户彼此不了解。您正在使用的特定 Wayland composer 中可能有一个特殊的 API - 但它不是协议(protocol)的一部分。 (例如 GNOME 的 composer 有一个 DBus API 来捕获屏幕)

关于linux - 如何使用 Wayland 显示服务器枚举所有顶级窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48462017/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com