Xcompmgr
関連記事
Xcompmgr はシンプルなコンポジットマネージャで、ドロップシャドウを表示したり、transset ユーティリティを使うことで、プリミティブなウィンドウ透過ができます。単独の概念実証として作られており、Xcompmgr は Compiz などのコンポジットマネージャの軽量な代替として使うことができます。
既存のウィンドウマネージャを置き換えないので、エレガントなデスクトップを模索している、軽量なウィンドウマネージャのユーザーにとっては理想的です。
目次
インストール
Xcompmgr をインストールする前に、Xorg を正しくインストール・設定してください。カスタム設定を使っている場合、X サーバーの Composite エクステンションを有効にしてください。
Xcompmgr は公式リポジトリの xcompmgr パッケージからインストールできます。透過を行うには公式リポジトリから transset-df もインストールしてください。
フォークと更新されたバージョン
バグフィックスなどがされた、フォークが複数存在しています:
- xcompmgr-dana — Xcompmgr の最初期のフォークのひとつ。
- http://oliwer.net/xcompmgr-dana/ || xcompmgr-danaAUR[リンク切れ: アーカイブ: aur-mirror]
- Picom — 多くの修正が含まれている Xcompmgr のフォーク。
設定
xcompmgr
をロードするには、次を実行してください:
$ xcompmgr -c
セッションの起動時にロードするには、次を xprofile に追加してください:
xcompmgr -c &
-c
の代わりにドロップシャドウを修正したりフェードを有効にするスイッチを使うことができます。例えば:
xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 &
オプションの完全な一覧を見るには、次を実行してください:
$ xcompmgr --help
ウィンドウ透過
パフォーマンスの低下のために、実用性は限られていますが、transset-df
ユーティリティを使うことで個々のウィンドウの透明度を設定することができます。
プログラムウィンドウの透過を設定するには、プログラムを予め実行して、次を実行してください:
$ transset-df opacity
opacity
は 0 から 1 の間の数値に置き換えてください。0 は透明で 1 は不透明です。
コマンドを実行すると、マウスカーソルが十字線になります。ウィンドウをクリックすれば透明度が指定された値に変更されます。例えば、transset-df 0.25
はウィンドウの不透明度を 25% (透明度 75%) に設定します。
ヒントとテクニック
要求に応じて Xcompmgr を起動・停止する
このスクリプトを使うことでコンポジットマネージャを簡単に(再)起動・停止できます。
~/.bin/comp
#!/bin/bash # # Start a composition manager. # (xcompmgr in this case) comphelp() { echo "Composition Manager:" echo " (re)start: COMP" echo " stop: COMP -s" echo " query: COMP -q" echo " returns 0 if composition manager is running, else 1" exit } checkcomp() { pgrep xcompmgr &>/dev/null } stopcomp() { checkcomp && killall xcompmgr } startcomp() { stopcomp # Example settings only. Replace with your own. xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 & exit } case "$1" in "") startcomp ;; "-q") checkcomp ;; "-s") stopcomp; exit ;; *) comphelp ;; esac
使いやすいように、このスクリプトを (Xbindkeys などを使って) ホットキーに設定することができます。これで他の作業を邪魔せずに、コンポジットを素早く再起動したり一時的に無効にできます。
Xcompmgr の切り替え
以下のスクリプトをホットキーに割り当てて下さい:
#!/bin/bash if pgrep xcompmgr &>/dev/null; then echo "Turning xcompmgr ON" xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 & else echo "Turning xcompmgr OFF" pkill xcompmgr & fi exit 0
トラブルシューティング
Flash が使われているサイトを開いた時に Mozilla Firefox がクラッシュする
次の行を含む /etc/profile.d/flash.sh
という名前の実行可能ファイルを作成することで修正できます:
export XLIB_SKIP_ARGB_VISUALS=1
(Openbox などで) ログイン後に背景が一時的にライトグレーになる
hsetroot をインストールして xcompmgr
の前に hsetroot -solid "#000000"
(#000000 にはあなたが使いたい色のコードを入力してください) を実行して背景色を設定することで修正できます。
awesome の BadPicture request
awesome で以下のエラーが表示される場合:
error 163: BadPicture request 149 minor 8 serial 34943 error 163: BadPicture request 149 minor 8 serial 34988 error 163: BadPicture request 149 minor 8 serial 35033
feh をインストールしてから awesome を再起動してください。
解像度を変更した後に awesome で画面が更新されない
外部モニターを使っている場合、ディスプレイの解像度が自動的に変更された時に問題が発生することがあります: 画面の一部分が"動かなくなり"更新されなくなる現象です。この問題は awesome が feh を使って背景を設定しているだけでなく初期の (Xcompmgr の起動前に実行される) 解像度変更を行っていることが原因です。
これを修正するには、hsetroot をインストールして .xinitrc
で xcompmgr
の直前に次の行を追加してください:
hsetroot -solid "#000066"
(#000066 はあなたが選んだ色に置き換えられます).