我想得到一个列表的窗口+窗口名称的所有打开的窗口在X11使用GO.我假设会使用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

我用这个作为package of mine,把一个窗口放在前景.希望这会有帮助?

Go相关问答推荐

Makefile:现有文件上没有这样的文件或目录,不加载环境变量

+在具有html/模板Golang的Base64中

为什么(编码器).EncodeElement忽略";,innerxml";标记?

go中跨域自定义验证的问题

将字符串格式的x509证书生成主题名称

从给定顶点查找图形中所有闭合路径的算法

泛型:实现嵌套接口

Golang代码判断第一个词是否可以从第二个词形成

go-echo中如何防止+转义

有没有什么方法可以在不使用 if/else 的情况下在 Golang 中处理 nil 指针?

如何使用带有方法的字符串枚举作为通用参数?

如何将一片十六进制字节转换为整数

有没有办法将 yaml node 添加到 golang 中现有的 yaml 文档中?

每次有人进入我的网站时如何运行特定功能?

使用 `didip/tollbooth` 限制每小时最大请求数

如何在 Windows 上使用 cgo 为 386 arch 构建 lib?

Go模板中的浮点除法

退格字符在围棋操场中不起作用

Go generics:我会在哪里使用 any 而不是 interface{}?

如果在调用 http.Get(url) 时发生错误,我们是否需要关闭响应对象?