如何将窗户保持在固定的位置



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

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

// 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);

最新更新