LINUX.ORG.RU

Xrandr, Xinerama, Twinview, Eyefinity и fullscreen

 eyefinity, , , ,


0

1

Всем привет. У меня есть пара вопросов по поводу xlib и многомониторных конфигураций:

1) Я правильно понимаю, что при настройки виртульного рабочего стола (на два монитора, например) через Xrandr для детекта размеров используется Xinerama ( XineramaQueryScreens(...) )?

2) Как обстоят дела с Eyefinity и Twinview? Виртульный скрин там тоже детектится с помощью Xinerama? У меня нет возможности проверить, т.к. нету ни того, ни другого.

3) При посылании окну атома _NET_WM_STATE_FULLSCREEN, как узнать положение и размеры окна в фуллскрине? Например, в опенбоксе окно открывается только на один монитор (возможно регулируется в конфиге), а в KWin в настройках есть галка, позволяя открывать окно либо на один монитор, либо на все сразу.

При посылании окну атома _NET_WM_STATE_FULLSCREEN, как узнать положение и размеры окна в фуллскрине? Например, в опенбоксе окно открывается только на один монитор (возможно регулируется в конфиге), а в KWin в настройках есть галка, позволяя открывать окно либо на один монитор, либо на все сразу.

Если окно хочет стать полноэкранным, оно посылает ClientMessage _NET_WM_STATE с e.data.l[0] == 1 и e.data.l[1] == _NET_WM_STATE_FULLSCREEN. Оконный менеджер принимает это сообщение, изменяет свойство _NET_WM_STATE окна, изменяет размер окна, как ему покажется нужным, и посылает ConfigureNotify окну с его новым размером. Из этого ConfigureNotify окно и узнаёт положение и размер.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

Да, спасибо! Совсем забыл про ConfigureNotify.

oh-la-la
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.