我正在使用C和Xlib编写应用程序,我想知道是否可以获取窗口的输入元素小部件列表(文本框,按钮等)。
我正在使用XQueryTree函数检索窗口列表。我想要完成的是能够将焦点设置到给定窗口中的某个文本框或按钮。
我知道这是由工具包(GTK,QT,...)处理的,但我想知道是否有可能将这些信息提供给Xserver。
答案 0 :(得分:1)
所以,我一直在研究ATK,它似乎做了我需要的事情。
对于其他任何想知道的人,GNOME开发的Accessibility Toolkit(ATK)公开了很多关于通过dbus运行应用程序的信息。
它允许您遍历可访问树(应用程序的GUI部分)并获取有关它们的信息,例如名称,状态(例如"已启用","可见& #34;,"可编辑","可聚焦",...)和角色(例如"应用程序","框架",&# 34;面板","按钮","菜单栏",...)。 它还允许操纵焦点甚至触发动作(例如模拟按钮中的单击)。
对于C语言的开发,我一直在使用libatspi库。