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;
}
目录
相关文章
|
7月前
|
Java 测试技术 开发工具
写代码中的一些“小技巧”
写代码中的一些“小技巧”
|
7月前
|
设计模式 IDE Java
如何将代码写的更加优雅?
如何将代码写的更加优雅?
68 0
|
敏捷开发 Cloud Native JavaScript
你写过的最蠢的代码是?
你写过的最蠢的代码是?
56 0
|
存储 设计模式 安全
代码优雅的45个小技巧,你知道吗?
代码优雅的45个小技巧,你知道吗?
103 0
|
Java Android开发
几行代码就能实现为何要多此一举
几行代码就能搞定,不能代表一个人很牛,借助了开源,只是站在了巨人的肩膀上,让你省去了去往成功的一大段路,然而这一段路上的风景,还请你仔细去欣赏,到头来,你会发现,路上的风景会远远美于终点的成功。
李峋的爱心代码
《点燃我温暖你》中李峋的爱心代码
193 0
x11获得窗口名的代码
x11获得窗口名的代码
136 0
不要傻乎乎的去找不同了,一起来用代码完成“找不同”游戏吧
不要傻乎乎的去找不同了,一起来用代码完成“找不同”游戏吧
622 0
不要傻乎乎的去找不同了,一起来用代码完成“找不同”游戏吧