如何使用新的默认显示服务器 Wayland 在 Ubuntu 17.10 上枚举桌面上的所有顶级窗口(并进一步获取其标题和其他属性)?
之前我们使用 X11 / XLib 来实现这一点,但现在使用 Wayland 这不再可靠了。一些窗口,如 gedit 和 LibreOffice 不再出现在窗口列表中,而其他工具(如)xwininfo
也不再适用于这些窗口。
目前我们使用以下技术:
以 X.org 作为默认显示服务器的 Ubuntu 17.04:
- X11-XLib / X_QueryTree
视窗:
- Win32-API / EnumerateWindows(也存在 Windows 自动化 API)
苹果系统:
- NSAccessibility / AXUIElementCreateApplication、AXUIElementCopyAttributeValue、kAXChildrenAttribute
带有 Wayland 的 Ubuntu 17.10:
- ???
到目前为止,我还没有找到任何关于 Wayland 和可访问性或 UI 自动化的 API 文档。
有人可以帮忙吗?一个面向未来的解决方案/技术如何在 Linux/Ubuntu 上访问桌面窗口会很好。
问候。