1

私は現在、複数の画面にまたがるマルチウィンドウアプリケーションに取り組んでいます。ソフトウェアはxlibで作成され、ubuntu 10.10、gnomeデスクトップで実行されます。すべてのウィンドウの位置を取得するには、/ etc / X11 / xorg.confファイル、特にセクションSeverLayoutにアクセスします。どういうわけか次のようになります。

Section "ServerLayout"
     Identifier "aticonfig Layout"
     Screen     "screen0" 0 0
     Screen     "screen1" 1920 0
     Screen     "screen2" 3840 0
     Screen     "screen3" 5760 0
EndSection

各画面のX値(0、1920、...)を取得したいのですが、xlibはどういうわけかこの情報へのアクセスを提供しますか?

ありがとう

4

2 に答える 2

0

Xでの複数のモニターのレイアウトに関する情報は、特にそれらが単一の論理画面に結合されている場合、libXrandrおよびlibXineramaAPIを介して入手できます。残念ながら、バージョン1.2でlibXrandrに追加されたマルチスクリーンAPIは、マニュアルページではカバーされていませんが、拡張機能の仕様Xrandr.hヘッダーファイルを確認する必要があります。

于 2011-02-23T02:23:57.387 に答える
0

XWidthOfScreen関数とXHeightOfScreen関数を使用できます。

XScreenCount(画面数を取得するため)およびXScreenOfDisplayを使用して、適切な画面構造を取得します。

より良い方法は、画面のルートウィンドウを取得し、XParseGeometry関数を使用してそのジオメトリを解析することです。

于 2011-02-22T15:17:08.380 に答える