如何用Go获得X11中的窗口列表



我想使用go获得X11中所有打开窗口的窗口+窗口名称的列表。我假设会使用xgb包。

您可以使用C,从而列出所有窗口:

/*
Window *getDisplayWindows (Display *disp, unsigned long *len);
Window *getDisplayWindows (Display *disp, unsigned long *len) {
Atom prop = XInternAtom(disp,"_NET_CLIENT_LIST",False), type;
int form;
unsigned long remain;
unsigned char *list;
if (XGetWindowProperty(disp,XDefaultRootWindow(disp),prop,0,1024,False,XA_WINDOW,
&type,&form,len,&remain,&list) != Success) {
return 0;
}
return (Window*)list;
}
*/
import "C"
//your go code below

我用这个作为我的一个包裹,把窗户放在前台。希望有帮助?

最新更新