簡體   English   中英

使用twinview Ubuntu 12.04 C ++在2台顯示器上的全屏應用程序

[英]Fullscreen application on 2 monitors using twinview Ubuntu 12.04 c++

我正在處理的應用程序遇到問題。 基本上,我希望它全屏顯示,但只能在兩台顯示器之一上顯示。 我正在使用Nvidia圖形卡並運行Twinview在兩個顯示器上擴展我的桌面。 不幸的是,我嘗試的所有操作都只能看到一台大型顯示器。 有沒有一種方法可以真正找出每個監視器的分辨率? 我希望不必使用大量外部庫,我已經在使用Xlib來管理窗口,但是我沒有發現任何可以通過Twinview看到的調用。

不幸的是,我暫時還停留在Twinview上,我真的需要解決它,而不僅僅是切換到其他東西。

謝謝

編輯:我能夠使它基本上與Xinerama一起工作,但是經過更多的努力,這是我最終得到的代碼,更加簡潔,據我所知,Xinerama已棄用,因此可能更好。

    XEvent xev;
    xev.type = ClientMessage;
    xev.xclient.window = this->window;
    xev.xclient.message_type = XInternAtom(this->display, "_NET_WM_STATE", False);
    xev.xclient.format = 32;
    xev.xclient.data.l[0] = 2; //0 is remove, 1 is add, 2 is toggle
    xev.xclient.data.l[1] = XInternAtom(this->display, "_NET_WM_STATE_FULLSCREEN", False);

希望這可以幫助其他有類似問題的人,窗口管理器可以很好地處理所有問題。

您的xorg.conf中的此選項應執行以下操作:

Option "NoTwinViewXineramaInfo"

此選項將關閉Xinerama Info。 關閉Xinerama信息后,Window Manager認為整個MetaMode就是屏幕,並且將跨越兩個監視器的所有內容。 當您單擊“最大化”時,您的應用程序將同時顯示在兩個屏幕上,對於某些應用程序,這對於其他應用程序是可以的,這很煩人。 我已經對這兩種方式進行了測試,並且更願意讓Window Manager知道有兩個顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM