複数のXウィンドウを大きなウィンドウに合わせることはできますか?

複数のXウィンドウを大きなウィンドウに合わせることはできますか?

私の基本的なプロセスが複数のウィンドウを生成するとしましょう。セッションリーダーのメインウィンドウ(必要に応じてウィンドウグループ用のフレームミニデスクトップ)にグループ化したいと思います。この目標を達成するにはどうすればよいですか?

詳細は:

遊んでいたライン私は、スクリプトが複数のzenity(または他の)ウィンドウを作成し、それを1つのメインウィンドウに結合して、結果として表示されるすべてのサブウィンドウを一度に移動または閉じることができるかどうか疑問に思います。

ベストアンサー1

次のコマンドを使用して、Xサーバーの内部にXサーバーを設定できます。Xephyr。新しいXが表示する内容を表示するウィンドウを画面に作成できます。

Xephyr :1

まず、それは空になります。新しいディスプレイを指す1つ以上のアプリケーションを起動できます。

DISPLAY=:1 some-application

アプリケーションによって生成されたすべてのウィンドウはXepyrウィンドウ内に表示されます。

Xネスト同じアイデアの以前のバージョンなので、同じ範囲のX拡張をサポートしていませんが、より広い範囲を使用できます。同じように開始しますXnest :1。どちらのプログラムも、より具体的に構成できるさまざまなコマンドラインオプションをサポートしています。

どちらの場合も、ネストされたサーバー内でウィンドウマネージャを起動したい場合があります。そうしないと、対話オプションが非常に制限されるためです。アプリケーションの起動時と同様に、現在のウィンドウマネージャの他のインスタンスを内部的に起動したり、別のインスタンスを使用したりできますDISPLAY=:1 twm &

毎回異なる番号を使用して、必要に応じてサブモニターを作成できます。すべてをスクリプトで書くことができます。

Xephyr :1 &
export DISPLAY=:1
some-application &
some-other-application &

Xephyrウィンドウを閉じると、それを使用したいすべてのアプリケーションはXエラーを受け取り(通常は)次のように終了します。

Fatal IO error 11 (Resource temporarily unavailable) on X server :1

これはプライマリXサーバーをシャットダウンするのと同様にエラー終了ですが、Ctrl-Alt-Backspaceすべてをすぐにシャットダウンします。

おすすめ記事