使用するモニターに応じてKDEのウィンドウの動作をスクリプト化する

使用するモニターに応じてKDEのウィンドウの動作をスクリプト化する

私のラップトップをいくつかの異なるモニターに接続しましたが、すべて私のラップトップでサポートされていないアスペクト比を持っています。内蔵ディスプレイとプラグインディスプレイは、それぞれ最大解像度と対応するアスペクト比を持ち、同じ左下隅を共有し、「一番上にぶら下がっている」余分なスペースを持ちたいです。

私はこの動作のためにxrandrを使用する/etc/kde4/kdm/Xsetupで実行されるスクリプトを作成しました。これで、2つの画面が重なる長方形の領域にデフォルトですべてのアプリケーションウィンドウが開くようになりました。

これを行う方法について提案がある人はいますか?これまで、次の2つのアプローチを考えることができますが、両方について質問があります。

1)ウィンドウの動作コントロールパネルでデフォルトのサイズと場所を設定し、これらの設定を含むファイルを見つけて、各モニタ構成ごとに異なるファイルを作成し、Xsetupが実行されたときにシステム全体のファイルにコピーします。 Q:ウィンドウの動作コントロールパネルは設定をどこに保存しますか?

2) X11 このプログラムの起動時にプログラムに割り当てる開始ジオメトリに影響を与える一種のグローバル変数を設定します。 Q:プログラムが起動するたびにX11がチェックする変数またはファイルはありますか?または、プログラムを起動するときにコマンドラインからX11に変数を渡す必要がありますか?それでは構文は何ですか? X11/KDE セッションで実行されている誰もが見ることができるように、これらの変数をどこで設定しますか? KDEを起動した後にこの変数を変更できますか?

システム: Linux 2.6.32-33-generic #72-Ubuntu SMP Fri Jul 29 21:07:13 UTC 2011 x86_64 GNU/Linux KDE 4.4.5 Kubuntu, Lucid Lynx

答え1

解決策#1がよさそうです。 KWinはルールをに保ちます。~/.kde4/share/config/kwinrulesrc組み込みのKWinマネージャ()を使用してkcmshell4 kwinrulesこれらのルールを作成できます。

ページ上のパネルの位置が変わらないようにセクションをWindow matching選択解除することを忘れないでください。他のすべてのフィールドには、開いているすべてのウィンドウに一致するようにデフォルト値が必要です。タブでウィンドウのサイズと位置を設定できます。Dock (panel)Window typesSize & Position

デフォルト設定の保存設定を選択すると、次の新しい項目がファイルに追加されます(~/.kde4/share/config/kwinrulesrcセクションにも値が増えます)。countGeneral

[2]
Description=Unnamed entry
position=100,100
positionrule=3
size=1000,1000
sizerule=3
types=4294967295
wmclass=
wmclasscomplete=false
wmclassmatch=0

このファイルをコピーするか、新しいモニターが挿入されたときに値を変更するスクリプトを作成できます。

関連情報