获取窗口的输入元素

时间:2014-10-01 17:39:13

标签: c xlib window-managers

我正在使用C和Xlib编写应用程序,我想知道是否可以获取窗口的输入元素小部件列表(文本框,按钮等)。

我正在使用XQueryTree函数检索窗口列表。我想要完成的是能够将焦点设置到给定窗口中的某个文本框或按钮。

我知道这是由工具包(GTK,QT,...)处理的,但我想知道是否有可能将这些信息提供给Xserver。

1 个答案:

答案 0 :(得分:1)

所以,我一直在研究ATK,它似乎做了我需要的事情。

对于其他任何想知道的人,GNOME开发的Accessibility Toolkit(ATK)公开了很多关于通过dbus运行应用程序的信息。

它允许您遍历可访问树(应用程序的GUI部分)并获取有关它们的信息,例如名称,状态(例如"已启用","可见& #34;,"可编辑","可聚焦",...)和角色(例如"应用程序","框架",&# 34;面板","按钮","菜单栏",...)。 它还允许操纵焦点甚至触发动作(例如模拟按钮中的单击)。

对于C语言的开发,我一直在使用libatspi库。