2012-02-09 25 views
1

我試圖創建多個屏幕,但是我至今無法找到一個方法來定位的二次篩選位置(x和y座標相對於主屏幕)應用多個屏幕的屏幕布局。獲得在Linux/Gnome的

我更喜歡使用Python或bash(經由庫/框架是細)。我也使用xorg.conf進行了檢查,但沒有反映出我當前的屏幕設置。

我使用Ubuntu 11.10(默認GNOME 2我相信),使用Compiz的作爲窗口管理器。如此重複,我的問題是如何讓屏幕布局(座標相對於主屏幕)最好由Python或bash的所有顯示器。

+1

運行xrandr,看看你是否可以用子進程解析數據。 – 2012-02-09 10:36:30

+0

沒關係這就是所謂的python-RANDR一個Python模塊。 A對此一無所知。但我想這會幫助你。 – 2012-02-09 10:38:17

+0

Doh。 Python-xrandr當然。請參閱下面的答案。 – 2012-02-09 11:15:53

回答

3

沒關係,我用PyQt的代替。這裏是一些代碼...

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綁定解決方案

所以,從這裏可以爲蟒蛇下載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()] 

這是據我得到了玩弄一點。我希望這將讓你開始:-)我只有現在連一個屏幕...

解析數據解決方案

另一種解決方案,正如我在評論中提及上面是解析theoutput命令xrandr它看起來像它應該只從它採取一看很簡單...

+0

看來我只能在bash中使用xrandr。 Python綁定不給我的位置,甚至沒有screen.print_info(),你能找到它嗎?無論屏幕位置如何,輸出[0] ._ x和._y將始終返回0。 – user654628 2012-02-10 05:33:54

+0

奇怪。但是無論工作如何,qt似乎也有一個好的語法(python-xrandr did'nt)。但是你知道,現在xorg只用於設置分辨率,所以最初(如果它包含數據的話)。 xrandr是什麼時候使用。 – 2012-02-10 06:47:08