私の新しいラップトップは16:9の大きな画面を持っているので、95%の時間HDムービーを見ていませんが、完全に活用するのは難しいと感じています。
物理画面を2つのワークスペースに分割して、一種の仮想デュアル画面として設定したいと思います。ウィンドウを手動で配置できることはわかっていますが、ウィンドウを最大化して、モニターの半分しか消費せず、ポップアップダイアログをその半分の画面の中央に配置できるようにしたいのです。
これを行うために使用可能なプラグインの種類はありますか?
私の新しいラップトップは16:9の大きな画面を持っているので、95%の時間HDムービーを見ていませんが、完全に活用するのは難しいと感じています。
物理画面を2つのワークスペースに分割して、一種の仮想デュアル画面として設定したいと思います。ウィンドウを手動で配置できることはわかっていますが、ウィンドウを最大化して、モニターの半分しか消費せず、ポップアップダイアログをその半分の画面の中央に配置できるようにしたいのです。
これを行うために使用可能なプラグインの種類はありますか?
回答:
あなたが望むものを達成するために ' fakexinerama 'を使用できます:
Fake Xinerama is a replacement libXinerama library that instead
of querying the XServer reads ~/.fakexinerama and provides fake
information about Xinerama screens based on this file. It can be
used to fake a Xinerama setup even on computers with just one monitor
or to fake Xinerama setup other than one specified in the XServer
configuration (e.g. making one screen smaller when using two same
screens). It's probably only useful for developers.
Lubos Lunakの「偽のxinerama」の使用に関する上記のakiraのヒントを拡張するために、私がそれを私のために機能させた方法を正確に示します。
gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared
gksu nautilus
2
0 0 720 900
720 0 720 900
偽のXineramaでは、任意の種類の仮想画面設定を定義できますが、縦分割画面が必要です。モニターでそれを実現するには、ファイルの例を見て、X x Yピクセルのサイズで、720をX / 2に置き換え、900をYに置き換えます。
それでおしまい。私はログアウトしてからログインし直しました。
このmodを作成してくれたLubos Lunakと、それを指摘してくれたakiraに再び感謝します。
現在、FakeXRandRと呼ばれる新しいプロジェクトがあり、これは本当に簡単に機能します。
これは、X11サーバーをチートして、実際よりも多くのモニターがあると信じるツールです。libXRandRとlibXineramaにフックし、特定の構成可能なモニター構成を複数の仮想モニターに置き換えます。このパッケージに付属のツールを使用して、モニターの分割方法を構成できます。
これは、追加のソフトウェアなしでXRandR 1.5で実行できます。XubuntuではfakexineramaもFakeXRandRも役に立たなかったが、このソリューションはついに画面を2つに分割した。
モニターを分割するには、次の手順を実行します。
xrandr
端末に入力して、分割するディスプレイの出力名と現在の解像度を確認します。
私のシステムでは、結果は次のとおりでした。
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
1920x1080 60.00*+ 50.00 59.94
1920x1080i 60.00 50.00 59.94
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.08 60.00
800x600 75.00 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 75.00 60.00 59.94
720x400 70.08
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
モニターがHDMI2に接続され、解像度が1920x1080に設定されていることがわかります。
xrandr --setmonitor
コマンドを使用して2つの仮想モニターを追加し、物理モニターと重なり合って互いに隣接するようにします。コマンドの構文は次のとおりです(引用符なし):
xrandr --setmonitor "monitor_name" "width_px"/"width_mm"x"height_px"/"height_mm"+"x_offset_px"+"y_offset_px" "output_name"
私のシステムでは:
xrandr --setmonitor HDMI2~1 960/254x1080/286+0+0 HDMI2
xrandr --setmonitor HDMI2~2 960/255x1080/286+960+0 none
上記はすでに私のシステムで仮想モニターを構成していますが、変更は実行するまで適用されません(xrandrを更新するようです):
xrandr --fb 1921x1080
xrandr --fb 1920x1080
再起動後に変更を保持するには、ログイン時にこれらのコマンドを実行します。~/.profile
ファイルの最後にコマンドを追加することにより、これを行うことができます。
私が出会ったomgubuntuの記事 Compizのコントロールパネルを使用してのUbuntu / GNOMEで模倣Windowsのスナップ機能にはかなり簡単な方法を提供します。このWindowsスナップを使用すると、ワイドスクリーンデスクトップが1つ残りますが、ウィンドウ自体を簡単にドッキングして、いずれかの半画面に表示できます。(それはもともと私が探していたものではありませんが、それでもかなり便利です。)
triplehead2goを使用して、かなり長い間、この正確な質問に対する解決策を使用してきました。そのデバイスは最大3台のモニターをマージし、1台の巨大なモニターをXに報告します。
xorg.confでその巨大なモニターを仮想ワークスペースに分割する方法は次のとおりです。
Section "Device"
# ... your other settings above
Option "TwinViewXineramaInfoOverride" "1280x1024+0+0, 1280x1024+1280+1, 1280x1024+2560+0"
EndSection
また、最新のnvidiaドライバーを使用している場合、これらのドライバーは上記の設定を無視しているように見える独自のxinerama拡張を提供するため、そのデバイスセクションに以下を追加する必要があります。
Option "NoTwinViewXineramaInfo" "true"
compizを使用している場合は、グリッドプラグインがより簡単で柔軟なソリューションであることがわかります。ウィンドウを端に向かってドラッグすると、画面の左/右半分にウィンドウを並べて表示するように設定できます。
これは、Davidがリンクしている記事で説明されているウィンドウスナップ機能です。さらに、ショートカットを構成し、ウィンドウを画面の上半分または下半分または画面の4分の1を占めるようにすることができます。
Xineramaは顕著なパフォーマンスヒットを引き起こし(Xineramaのすべての画面でXアクションを複製するため)、複合ウィンドウマネージャーではうまく機能しません。