Разрабатываю плагин для Compiz (оконный менеджер). На моей тестовой машине xfce запускает оконный менеджер. У меня два монитора, которые установлены вертикально (верхний 1920x1080 + 0 + 0, нижний 1920x1080 + 0 + 1080). Нижний монитор установлен как основной. Эта опция (основной монитор) доступна, например, в настройках nvidia. В моем коде я могу использовать функцию xlib XConfigureWindow
, когда я хочу установить верхний левый угол окна игры в положение [0,0]. Это нормально работает, но когда окно находится в полноэкранном режиме (покрывает два монитора) и получает фокус, оно иногда меняет положение. Затем новое положение верхнего левого угла начинается с 0, 1080, и я могу видеть только половину окна. Возможно, такое поведение связано с опцией основного экрана. Что означает главный экран для оконной системы x11? Мне не разрешено менять эту опцию. Как сохранить фиксированное положение окна? Есть ли какая-нибудь функция xlib или флаг, которые я могу использовать?
x11 - как сохранить окно в фиксированном положении
comment
Возможный дубликат stackoverflow .com / questions / 17114738 /.
- person n. 1.8e9-where's-my-share m.   schedule 01.09.2014
Ответы (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);
person
user43853
schedule
10.11.2014