Jak zrobić okno X11 na wielu monitorach
Próbuję użyć XResizeWindow (), aby utworzyć okno, które obejmie 2 monitory, ale menedżer okien? ogranicza go do jednego.
Czy istnieje podpowiedź lub właściwość, którą mogę powiązać z oknem, aby powiedzieć WM, aby go nie ograniczało?
W moim przypadku testowym mam dwa monitory 1600x1200, które nVidia prezentuje jako jeden ekran 3200x1200 dla KDE4. XDisplayWidth (wyświetlanie, 0); zwraca 3200 i XDisplayHeight (wyświetlanie, 0); zwraca 1200.
Kiedy dzwonię
XCreateWindow(display, DefaultRootWindow(display),
220, 0, 1700, 930,
1, DefaultDepth(display,screen),
InputOutput, CopyFromParent,
CWCursor, &attributes);
dla okna 1700x930 przy 220,0 otrzymuję okno 1593x930 przy 0,0, utrzymując je całkowicie na lewym monitorze. Każdy XResizeWindow większy niż ten ulega zmniejszeniu do 1593. (Zakładam, że 7 pikseli to dekoracja okna, co jest w porządku).
Ale jeśli następnie XMoveWindow (wyświetl, wygraj, 800, 0), przesunie okno, aby rozciągnąć ekrany, a następnie mogę powiększyć go do 3200 szerokości (minus kilka pikseli).
Czy jest coś, co mogę zrobić, aby powiedzieć menedżerowi okien lub komukolwiek, kto to robi, nie ograniczać okna do pojedynczego monitora i pozwolić mi korzystać z całego ekranu?
Dzięki!
%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