gpt4 book ai didi

c++ - 为什么 XGetWindowProperty 返回 null?

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:09 25 4
gpt4 key购买 nike

我正在使用以下命令获取所有 X 窗口的名称:

  Atom nameAtom = XInternAtom(dpy,"_NET_WM_NAME",false);
Atom type;
int format;
unsigned long nitems, after;
unsigned char *data = 0;

if (Success == XGetWindowProperty(dpy, window, nameAtom, 0, 65536,
false, XA_ATOM, &type, &format,
&nitems, &after, &data)) {
if (data) {
Atom windowName = *(Atom*)data;
const char* name = XGetAtomName(dpy, windowName);
log.debug("Name: %s", name);
XFree(data);
}
}

但在我的日志中,我只是为每个窗口获取 (null)。我做错了什么?

最佳答案

所需的是将 req_type 相应地指定为 UTF8_STRING:

  Atom nameAtom = XInternAtom(dpy,"_NET_WM_NAME",false);
Atom utf8Atom = XInternAtom(dpy,"UTF8_STRING",false);
Atom type;
int format;
unsigned long nitems, after;
unsigned char *data = 0;

if (Success == XGetWindowProperty(dpy, window, nameAtom, 0, 65536,
false, utf8Atom, &type, &format,
&nitems, &after, &data)) {
if (data) {
log.debug("Name: %s", data);
XFree(data);
}
}

关于c++ - 为什么 XGetWindowProperty 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8925377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com