x11获得窗口名的代码

简介: x11获得窗口名的代码

具体代码:

/**
_NET_WM_NAME: 类似Window: 126
WM_NAME: XStoreName设置的值
*/
bool get_window_name(Display* dpy, Window window, char* pName)
{
#if 1
char **srname = (char **)malloc(sizeof(char *));
XFetchName(dpy, window, srname);
printf("%s-%d %s\n", __func__, __LINE__, srname[0]);
#else
    //尝试使用_NET_WM_NAME方式获取窗口的名称
    XTextProperty tp;
    Status s1 = XGetTextProperty(dpy,window,&tp,XInternAtom(dpy, 
        "WM_NAME",
        False));
    if (tp.nitems <= 0)
    {
        return false;
    }
    int count = 0;
    char **list = NULL;
    int ret = XmbTextPropertyToTextList(dpy, &tp, &list, &count);
    if ((ret == Success || ret > 0) && list != NULL)
    {
        for (int i=0; i<count; i++)
        {
             sprintf(pName, "%s", list[i]);
        }
        XFreeStringList(list);
    }
    else
    {
        sprintf(pName, "%s", tp.value);
    }
#endif
    return true;
}

目录
相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 算法
代码的前世今生详细介绍
7月更文挑战第8天
54 4
|
6月前
|
设计模式 IDE Java
如何将代码写的更加优雅?
如何将代码写的更加优雅?
56 0
记一次代码评鉴
前言 近期公司组织了一次代码评鉴,在这边记录下学习到的一些规范吧
|
存储 分布式计算 并行计算
聊聊什么代码是好代码
聊聊什么代码是好代码
李峋的爱心代码
《点燃我温暖你》中李峋的爱心代码
189 0
李峋的爱心代码
不要傻乎乎的去找不同了,一起来用代码完成“找不同”游戏吧
不要傻乎乎的去找不同了,一起来用代码完成“找不同”游戏吧
585 0
不要傻乎乎的去找不同了,一起来用代码完成“找不同”游戏吧
|
数据可视化 JavaScript 前端开发
你的代码长啥样?
你的代码长啥样?
166 0
你的代码长啥样?
|
设计模式 IDE Java
最好的代码是没有代码
对于大多数软件开发者来说,要让他们承认这一点是很痛苦的,因为他们爱他们的代码。你写的每一行新代码都需要经过调试,需要具备可阅读性和可维护性。
最好的代码是没有代码
这一团糟的代码,真的是我写的?!
阿里妹导读:你有没有遇到过这种情况:过几周或者几个月之后,再看到自己写的代码,感觉一团糟,不禁怀疑人生?我们每天都与代码打交道,但当被问道什么是好的代码时,很多人可能会先愣一下,然后给出的回答要么比较空泛,要么比较散,没办法简单明了地概括出来。今天,我们就来说什么是好的代码?
28873 0
|
测试技术 UED 开发者
被劣质代码“残害”的这些年
都已经 2020 年了,但我们仍然在生产劣质软件。自从计算机诞生以来,已经过去了近 70 年,但我们似乎还没有吸取所有的教训,仍然在犯着重复的错误。