2011-02-22 66 views
1

我目前正在研究跨多個屏幕的多窗口應用程序。該軟件是用xlib編寫的,並在ubuntu 10.10,gnome桌面上運行。 爲了獲得每個窗口的位置,我想訪問/etc/X11/xorg.conf文件,特別是SeverLayout部分。它看起來在某種程度上是這樣的:使用C++獲取xorg.conf serverLayout

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的某種方式提供獲取這些信息?

感謝

+0

你究竟在「每個屏幕的X值」下考慮到了什麼?具有X值的 –

+0

,我的意思是屏幕的絕對x座標。在這種情況下,0,1920,3840和5760 – underdoeg

回答

0

您可以使用XWidthOfScreen和XHeightOfScreen功能。

使用XScreenCount(獲取屏幕數量)和XScreenOfDisplay獲得適當的屏幕結構。

更好的方法是獲取屏幕的根窗口並使用XParseGeometry函數解析其幾何圖形。

+0

感謝您的回答。我看着那一個。但那仍然不會給我屏幕座標。當然,在這個例子中,我可以計算screen0.x * screen0.width來獲得screen1.x,但我想保持靈活性來按照我想要的方式安排窗口。 – underdoeg

+0

@philip更新回答。 XParseGeometry應該給出屏幕座標。 –