x11 - 如何将窗口保持在固定位置

时间:2014-08-31 20:20:45

标签: x11 xfce compiz

我为Compiz(窗口管理器)开发了一个插件。窗口管理器由我的测试机器上的xfce运行。我有两个垂直设置的显示器(顶部1920x1080 + 0 + 0,底部1920x1080 + 0 + 1080)。底部监视器设置为主监视器。此选项(主监视器)可在nvidia-settings中使用。在我的代码中,当我想在位置[0,0]设置游戏窗口的左上角时,我可以使用xlib函数XConfigureWindow。这样可以正常工作,但是当窗口处于全屏模式(覆盖两个监视器)并获得焦点时,它有时会改变位置。然后左上角的新位置从0,1080开始,我只能看到窗口的一半。也许该行为与主屏幕选项相关联。主屏幕对x11窗口系统意味着什么?我不允许改变那个选项。如何将窗户保持在固定位置?有没有xlib函数或我可以使用的标志?

1 个答案:

答案 0 :(得分:1)

窗口管理器将无法对使用此选项创建的窗口执行任何操作。

// Create a window : 
window = XCreateSimpleWindow(dpy, RootWindow(dpy, 0), 
            win_X, win_Y, win_width,
            win_height, 0, 0, 0);

// Set non managed window
XSetWindowAttributes set_attr;
set_attr.override_redirect = True;
XChangeWindowAttributes(dpy, window, CWOverrideRedirect, &set_attr);

// Map the window on screen
XMapWindow(dpy, window);
相关问题