首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xinit窗口始终在顶部_NET_WM_STATE _NET_WM_STATE_ABOVE

xinit窗口始终在顶部_NET_WM_STATE _NET_WM_STATE_ABOVE
EN

Stack Overflow用户
提问于 2016-08-22 11:26:14
回答 1查看 1.2K关注 0票数 4

我用的是fedora 14系统。当我使用starx启动桌面系统时,我创建了一个Xlib程序,代码如下:

代码语言:javascript
复制
    Atom wmStateAbove = XInternAtom(display, "_NET_WM_STATE_ABOVE",1);
    if(wmStateAbove != None)
            printf("_NET_WM_STATE_ABOVE has atom of %ld \n", (long)wmStateAbove);
    else
            printf("ERROR: can't find atom for _NET_WM_STATE_Above! \n");

    Atom wmNetWmState = XInternAtom(display, "_NET_WM_STATE", 1);
    if(wmNetWmState != None)
            printf("_NET_WM_STATE has atom of %ld \n", (long)wmNetWmState);
    else
            printf("ERROR: can't find atom for _NET_WM_STATE! \n");



    if(wmStateAbove != None)
    {
            printf("======\n");
            XClientMessageEvent xclient;
            memset(&xclient, 0, sizeof(xclient));

            xclient.type = ClientMessage;
            xclient.window = win;
            xclient.message_type = wmNetWmState;
            xclient.format = 32;
            xclient.data.l[0] = 1;
            xclient.data.l[1] = wmStateAbove;
            xclient.data.l[2] = 1;
            xclient.data.l[3] = 1;
            xclient.data.l[4] = 0;

            printf(" default Window %d \n", DefaultRootWindow(display));
            XSendEvent(display,
            DefaultRootWindow(display), False,
            SubstructureRedirectMask | SubstructureNotifyMask,
            (XEvent*)&xclient);

可以在顶部创建窗口,但如果我使用xinit启动桌面系统,xinitrc脚本如下所示:

enter image description here

程序不能正常工作,提示_NET_WM_STATE和_NET_WM_STATE_ABOVE找不到,窗口不能放在最上面,是什么原因?

EN

回答 1

Stack Overflow用户

发布于 2020-07-13 23:31:44

如果在窗口管理器启动并准备好对消息做出反应之前执行此代码,则在启动时执行此操作可能会很棘手。

事件中也有一个错误;xclient.data.l2应该是0,而不是1。https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#idm46035372536800

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39070984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档