タイトルが微妙にエロい(^^;
まぁ、それはおいといて、Gentoo(というかX)で背景を透過させる方法について。
ウィンドウマネージャのサイトとか見てるとかっこいいスクリーンショットがたくさんあって、特に目をみはるのが、背景が透き通って見える(=ウィンドウが(半)透明になっている)スクリーンショット。
こいつを実現してみたいなぁ、と思うわけです。
ちなみにそういうのを行っていないデフォルトの状態は、例えばこんな感じ。
志摩子さんがいたりするけど、気にしないw
背景を透過させるのによく使われるのは、atermやeterm、あるいはmltermといったターミナル。
つまり、個々のアプリケーションレベルでしかそういったのは実現されていないんですよねぇ。
ついでに言うと、あくまでも「背景」(=壁紙、Mac風ならデスクトップピクチャ)を透過させるので、そうでないアプリケーションといっしょに使うと変な感じに・・・
mltermを使って背景を透過させたのがこんな感じ。
下になっているウィンドウの文字は表示されないし、透過されていないFirefoxは変な感じになってしまっていますね。
なお、自分は壁紙をImageMagikのdisplayコマンドを使って設定しているのですが、この場合mltermを単に動かして設定するだけだとちゃんと背景が透過されない・・・(xsetrootで設定されたものが背景とみなされてしまう)
これを解決するのにすごい時間がかかりました。
なにやらxsetptransというのをバックグラウンドで動かしている必要があるっぽいです。
上のサイトからtarボールを落としてきて、
# tar zxvf xsetptrans*.tar.gz
# cd xsetptrans*/
# make
# cp xsetptrans /usr/local/bin
(※*はバージョンとか。あと、/usr/local/binはただここをインストール先にしただけ。)
とかって手動でインストールして、.xinitrcにでも
xsetptrans &
というのを入れておけばOK。
閑話休題。
で、実はさっきのみたいな「擬似的な」(半)透明でなく、「本当に」(半)透明にすることがXの拡張を使うことで出来たりします。(重いけど)
方法は比較的簡単で、まず/etc/X11/xorg.confに以下のセクションを追加。
==> /etc/X11/xorg.conf(一部) <==
Section "Extensions"
Option "Composite" "true"
EndSection
そうしたら、Xを再起動。
次に、xcompmgrとtranssetをemerge。
# emerge xcompmgr transset
transsetの方はマスクがかかっているかもしれないから、もしかかっていたら、
# echo "x11-misc/transset ~x86" >>/etc/portage/package.keywords
とでもしてマスクを解除しておくこと。
両方ともemerge出来たら、ウィンドウをどれくらい透明にするのかをtranssetを使って設定していきます。
とりあえず透明にしたいウィンドウをクリックできるようにしておいてから、
# transset .8
(.8は0.8の意味で、ここには0(=完全に透明)から1(=完全に不透明)を指定する。)
とすると、マウスカーソルが+の形になるから、それで透明にしたいウィンドウをクリック。
こうすると、ウィンドウの透明度が設定されます。
(後で変えることも出来るけれど)一通り設定が終わったら、
# xcompmgr &
とすると、設定した透明度に従ってウィンドウが透明になります。
このxcompmgrを動かすときに、オプションとして-cを指定するとボヤっとした影が、-sを指定するとシャキっとした影がつきます。
ただ、薄暗くなってしまう感じが否めないので、あまりおすすめは・・・
あと、さっきのxsetptransを動かしていないと、激しくひどい画面になります。
それと、もしエラーがめちゃくちゃ流れてくるようだったら、
# xcompmgr 1>/dev/null 2>&1 &
とリダイレクトして、エラーは捨てちゃってください。
この結果がこんな感じ。
ちゃんと下のウィンドウの文字も透けて見えます。
Firefoxといっしょに使うとこんな感じ。
ただ、Firefoxは透明化すると見にくいですね(^^;
ということで、transsetでFirefoxは完全に不透明にしたのがこれ。
これはなかなかよさげ。
ただ、やっぱり重いのが・・・(^^;
Firefoxの画面をスクロールするのに、ネットワーク越しで操作しているような重さがあります。
ちなみにtranssetで志摩子さんを指定するとすけs(ry
いやいや、幽霊みたいに薄くなるだけですw
(ついでに言うと、指定したときの背景の一部が背後霊みたいに憑いてきますw)