XResizeWindow() kullanarak 2 monitör, ancak pencere yöneticisi olacak bir pencere yapmak için kullanmaya çalışıyorum? onu bire sınırlıyor.Nasıl yapılır: X11 pencere birden çok monitör yayılıyor
WM'yi sınırlamamasını söylemek için pencereyle ilişkilendirebileceğim bir ipucu veya özellik var mı?
Test durumum için, nVidia'nın KDE4'e bir 3200x1200 ekran olarak sunmakta olduğu iki 1600x1200 monitörüm var. XDisplayWidth (görüntü, 0); 3200 ve XDisplayHeight döndürür (ekran, 0); Ben 0,0 bir pencere 1593x930 olsun 220,0 bir pencere 1700x930 için
XCreateWindow(display, DefaultRootWindow(display),
220, 0, 1700, 930,
1, DefaultDepth(display,screen),
InputOutput, CopyFromParent,
CWCursor, &attributes);
diyoruz sol monitörde tamamen tutarak zaman 1200.
döndürür. Bundan daha büyük olan herhangi bir XResizeWindow, 1593'e küçültülebilir. (7 pikselin pencere süslemesi olduğunu düşünüyorum.)
Ancak, XMoveWindow (ekran, win, 800, 0) ise, pencereyi hareket ettirir. Ekranları genişletmek için 3200'e kadar genişleyebilirim (eksi birkaç piksel).
Pencere yöneticisine veya bunu yapan kişilere, pencereyi tek bir monitörle sınırlamamaya ve ekranın tamamını kullanmama izin vermek için yapabileceğim bir şey var mı?
Teşekkürler! WM akıllı olmak ve mümkün olan en iyi şekilde pencereler yerleştirmek gerekiyordu olarak
%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
Aha! Min_width ayarı hile yapar. Uygulama, kullanıcının uygulamayı pencerenin ne kadar büyük olmasını istediğini açıkça bildirmesiyle yalnızca boyut konusunda katı olmaya çalışır. Bu yüzden, ekran boyutunu kontrol edebilirim ve eğer yeterince büyükse, elle min_width ile zorlayın, sonra yeniden boyutlandırıldıktan sonra min_width değerini 640 olarak ayarlayın. Teşekkür ederiz! –
Kullanılmış belirtilen boyutta biri, P * yerine USSize/USMinSize vb. Kullanmalıdır (kullanıcı tarafından belirlenen tercihlere daha fazla saygı gösterilmesi gerekir). –