Как сделать так, чтобы окно X11 охватывало несколько мониторов
я пытаюсь использовать XResizeWindow (), чтобы создать окно, которое будет охватывать 2 монитора, но «оконный менеджер»? ограничивает его до одного.
Есть ли подсказка или свойство, которое я могу связать с окном, чтобы сказать WM не ограничивать его?
Для моего теста у меня есть два монитора 1600x1200, которые nVidia представляет как один экран 3200x1200 для KDE4. XDisplayWidth (display, 0); возвращает 3200 и XDisplayHeight (display, 0); возвращает 1200
Когда я звоню
XCreateWindow(display, DefaultRootWindow(display),
220, 0, 1700, 930,
1, DefaultDepth(display,screen),
InputOutput, CopyFromParent,
CWCursor, &attributes);
для окна 1700x930 при 220,0 я получаю окно 1593x930 при 0,0, полностью удерживая его на левом мониторе. Любое XResizeWindow больше этого размера сокращается до 1593. (Я предполагаю, что 7 пикселей - украшение окна, и это хорошо.)
Но если я затем XMoveWindow (display, win, 800, 0), он переместит окно, чтобы охватить экраны, и затем я смогу увеличить его до 3200 в ширину (минус несколько пикселей).
Могу ли я что-нибудь сказать оконному менеджеру или тому, кто это делает, не ограничивать окно одним монитором и позволить мне использовать весь экран?
Спасибо!
%xrandr -q --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 3200 x 1200, current 3200 x 1200, maximum 3200 x 1200
default connected 3200x1200+0+0 (0x161) normal (normal) 0mm x 0mm
Identifier: 0x160
Timestamp: 64409661
Subpixel: unknown
Clones:
CRTC: 0
CRTCs: 0
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
3200x1200 (0x161) 192.0MHz *current
h: width 3200 start 0 end 0 total 3200 skew 0 clock 60.0KHz
v: height 1200 start 0 end 0 total 1200 clock 50.0Hz