如何使用xlib观看任何窗口移动?

时间:2015-11-21 20:20:00

标签: c++ x11 xlib

如何跟踪所有窗口的移动事件? 就像用户移动窗口" Pluma"我的守护进程会收到窗口名称和新坐标。

if(XCheckMaskEvent(display, -1, &event))
    {
        if(event.type == ConfigureNotify)
        {
            moved += event.xmotion.x + event.xmotion.y;
            //qDebug << moved;
        }
    }

我试着像这样跟踪它,但它不起作用......

1 个答案:

答案 0 :(得分:1)

您首先需要在根窗口中选择SubstructureNotify掩码:

XSelectInput(display, XDefaultRootWindow(display), SubstructureNotifyMask );

通过这种方式,您可以告诉X服务器&#34;我对根窗口移动/调整大小/删除/创建事件感兴趣&#34;