web-dev-qa-db-ja.com

使用されているモニターに依存するKDEのスクリプトウィンドウの動作

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

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

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

1)[ウィンドウの動作]コントロールパネルでデフォルトのサイズと位置を設定し、それらの設定を保持するファイルを見つけ、モニター構成ごとに異なるファイルを用意し、Xsetupの実行時にシステム全体のファイルにコピーします。質問:ウィンドウの動作コントロールパネルはどこに設定を保持しますか?

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

システム:Linux 2.6.32-33-generic#72-UbuntuSMP金7月29日21:07:13UTC 2011 x86_64 GNU/Linux KDE 4.4.5 Kubuntu、Lucid Lynx

3
f1r3br4nd

解決策#1は良さそうです。 KWinはそのルールを_~/.kde4/share/config/kwinrulesrc_に保持します。このようなルールは、組み込みのKWinマネージャー(_kcmshell4 kwinrules_)を使用して生成できます。

ページ_Window matching_で、セクション_Window types_のDock (panel)のチェックを外して、パネルの位置を変更しないようにしてください。他のすべてのフィールドにはデフォルト値が必要なので、開いているすべてのウィンドウが一致します。 _Size & Position_タブで設定できるウィンドウのサイズと位置。

設定を保存する設定を選択すると、ファイル_~/.kde4/share/config/kwinrulesrc_に次のような新しいエントリが追加されます(セクションcountにはGeneral値もインクリメントされます):

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

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

1
pbm