XResizeWindow()を使用して2つのモニターにまたがるウィンドウを作成しようとしていますが、ウィンドウマネージャーですか?それを1に制限しています。X11ウィンドウを複数のモニターにまたがるようにする方法
WMに制限しないように指示するためのヒントやプロパティはありますか?
私のテストケースでは、nVidiaが3200x1200の画面をKDE4に提示する2台の1600x1200モニターがあります。 XDisplayWidth(表示、0); 3200とXDisplayHeight(display、0)を返します。リターン1200
私は220,0でウィンドウ1700x930ため
XCreateWindow(display, DefaultRootWindow(display),
220, 0, 1700, 930,
1, DefaultDepth(display,screen),
InputOutput, CopyFromParent,
CWCursor, &attributes);
を呼び出すと、私は左のモニターに完全にそれを維持、0,0にウィンドウ1593x930を取得します。 (私は7ピクセルがウィンドウの装飾であると仮定します。)
しかし、次にXMoveWindow(display、win、800、0)を使用すると、ウィンドウが移動します画面をスパンすることができます。次に、3200ワイド(マイナス数ピクセル)まで拡大することができます。
ウィンドウマネージャー、またはこれを行っている人には、ウィンドウを1台のモニターに限定するのではなく、画面全体を使えるようにするためにできることはありますか?
ありがとうございます! WMをスマートにし、可能な限り最高の形で窓を配置することになっているよう
%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を設定すると、そのトリックが実行されます。 アプリケーションは、ユーザーが明示的にウィンドウをどの程度大きくしたいのかをアプリケーションに明示的に指示したときにのみ、サイズについて厳密になるように試みます。だから私は画面のサイズを確認することができますし、それが十分な場合は、手動でmin_widthで強制的に、次にサイズを変更した後にmin_widthを640に戻します。 ありがとうございます! –
指定されたサイズの場合、P *の代わりにUSSize/USMinSizeなどを使用する必要があります(ユーザ指定の設定はより尊重されているはずです)。 –