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月前
|
安全
神秘代码
这是针对IDEA 2023.2.4的破解码,允许用户免费激活软件。该破解码包含详细的授权信息,能绕过付费使用限制,实现全面功能解锁。注意,使用此类破解码可能违反相关软件使用协议,并存在安全风险。建议通过官方渠道获取正版软件。
|
6月前
|
Java 测试技术 开发工具
写代码中的一些“小技巧”
写代码中的一些“小技巧”
|
6月前
你写过的最蠢的代码是?
你写过的最蠢的代码是?
35 0
|
存储 设计模式 安全
代码优雅的45个小技巧,你知道吗?
代码优雅的45个小技巧,你知道吗?
|
存储 分布式计算 并行计算
聊聊什么代码是好代码
聊聊什么代码是好代码
|
SQL 人工智能 前端开发
无代码的未来
随着无代码技术越来越成熟,很多web应用已经可以基于无代码平台进行开发。本文分析了4个最流行的无代码平台,并梳理了无代码行业今后可能的发展方向。
434 0
无代码的未来
|
数据可视化 JavaScript 前端开发
你的代码长啥样?
你的代码长啥样?
165 0
你的代码长啥样?
x11获得窗口名的代码
x11获得窗口名的代码
172 0
|
设计模式 IDE Java
最好的代码是没有代码
对于大多数软件开发者来说,要让他们承认这一点是很痛苦的,因为他们爱他们的代码。你写的每一行新代码都需要经过调试,需要具备可阅读性和可维护性。
最好的代码是没有代码
|
测试技术 UED 开发者
被劣质代码“残害”的这些年
都已经 2020 年了,但我们仍然在生产劣质软件。自从计算机诞生以来,已经过去了近 70 年,但我们似乎还没有吸取所有的教训,仍然在犯着重复的错误。