我需要为所有具有特定窗口名称的窗口设置自定义属性。
我试图首先列出具有特定名称的所有窗口,而我面临的问题是,尽管有多个具有相同名称的窗口,但xprop或xwininfo只会列出该窗口的一个实例的详细信息。
xprop -name 'xyz'
xwininfo -name 'xyz'
最终,我将使用以下命令来设置自定义属性
xprop -name 'xyz' -f Onkar 8s -set Onkar Hello
要注意的另一件事是我无权访问wmctrl或xdotool
答案 0 :(得分:0)
这是一种编程方法(用C语言编写):
首先,使用Atoms和XGetWindowProperty()使用_NET_CLIENT_LIST属性获取窗口ID。 然后使用Atoms下的WM_NAME获取窗口名称,再次使用XGetWindowProperty()。现在,您有了系统中所有活动窗口的列表,因此可以使用strcmp()检查所需的窗口名称。
工作代码如下: https://cboard.cprogramming.com/linux-programming/125534-accessing-windows-x11.html
关于XGetWindowProperty() https://tronche.com/gui/x/xlib/window-information/XGetWindowProperty.html
关于原子: https://tronche.com/gui/x/xlib/window-information/properties-and-atoms.html