2012-02-09 1 views
1

上に複数の画面の画面レイアウトを取得します。私は今まで(x、y座標による一次スクリーンに対する)二次スクリーニングの位置を特定する方法を見つけることができませんが複数の画面のためのアプリケーションを作成しようとしているのLinux/Gnomeの

私は、Pythonやbashを(ライブラリ/フレームワークが細かいです経由で)使用することを好みます。また、xorg.confで確認しましたが、現在の画面設定が反映されません。

私は、ウィンドウマネージャとしてのcompizを使用して、(デフォルトのGNOME 2、私は信じている)のUbuntu 11.10を使用しています。そう繰り返して、私の質問は、Pythonやbashで、好ましくは、すべてのモニターの画面レイアウトを(主画面に対して座標)を取得する方法です。

+1

xrandrを実行し、サブプロセスでデータを解析できるかどうかを確認してください。 –

+0

それを気にしないのpython-RANDRと呼ばれるPythonモジュールです。それについて何も知らない。しかし、それがあなたを助けると思う。 –

+0

Doh。もちろんPython-xrandr。下の私の答えを見てください。 –

答えて

3

ネヴァーマインド。ここにいくつかのコードがあります...

from PyQt4.QtGui import QApplication, QPixmap 
desktop = QApplication.desktop() 
screenRect = desktop.screenGeometry(1) #2nd monitor 
print screenRect.x(), screenRect.y() #returns the x and y of that screen 
1

のPythonここからあなたはPython用のxrandrバインディングをダウンロードすることができ、それで解決

を結合:https://launchpad.net/python-xrandr

# Import the module 
from xrandr import xrandr 

# Get a screen object to work with 
screen = xrandr.get_current_screen() 
ett samband mellan hur mycket N sovit senaste dygnet och 
# Get the active output objects as a list 
active_outputs = [o for o in screen.get_outputs() if o.is_active()] 

これは限り私は少し周りを遊んだようでした。私はそれはあなたが、私は唯一の画面接続を持っている:-)私は上記の私のコメントで述べたように、他のソリューションのデータ・ソリューションに

の解析今...

は、コマンドの出力を解析することで始めることを願っていますxrandrそれは私が代わりにPyQtはを使用し、それはそれで一目を取ってから、非常に単純でなければなりませんように見えます...

+0

私はbashでxrandrしか使えないようです。 Pythonバインディングは私にポジションを与えず、screen.print_info()もそれを見つけることができますか?また、出力[0] ._ xと._ yは、画面の位置に関係なく常に0を返します。 – user654628

+0

奇妙な。しかし、仕事は何でも、qtは良い構文(python-xrandr did'nt)も持っているようでした。しかし、ちょうどあなたが知っているように、最近、xorgは解像度を設定するためにのみ使用され、最初は(データが含まれている場合)使用されます。 xrandrはそれから使用されたものです。 –

関連する問題