rxvt-unicode 9.09でshading(transparency)を設定する
私は今まで以下のように urxvt の透過設定をしていた.
% cat .Xdefaults
...
URxvt.shading: 30
...
% cat .xsession
...
xpmroot ~/wallpapers/06407122_s.xpm &
...
urxvt &
が,先日 9.07 から 9.09 にバージョンを上げたところ,透過設定が正しく働かなくなってしまった.事情は知らないが,互換性を保つためのコードを 9.09 で削除したらしい.老婆心から IE サポートしてデスマっちゃう俺かっけー,みたいなのの対極を行く感じで好感が持てる.
公式の FAQ によると,そもそも透過はサポートしていないらしい.胸にきゅんきゅんくる感じに書かれていたので引用しておく.こういう FAQ いいよね.
I can't get transparency working, what am I doing wrong?
First of all, transparency isn't officially supported in rxvt-unicode, so you are mostly on your own. Do not bug the author about it (but you may bug everybody else). Also, if you can't get it working consider it a rite of passage: ... and you failed.Here are four ways to get transparency. Do read the manpage and option descriptions for the programs mentioned and rxvt-unicode. Really, do it!
1. Use transparent mode:
Esetroot wallpaper.jpg urxvt -tr -tint red -sh 40That works. If you think it doesn't, you lack transparency and tinting support, or you are unable to read. This method requires that the background-setting program sets the _XROOTPMAP_ID or ESETROOT_PMAP_ID property. Compatible programs are Esetroot, hsetroot and feh.
http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod
...
もし使いたいなら, Esetroot か hsetrott, あるいは feh を使えと.名前が短くて気に入ったので feh を使ってみる.
% sudo aptitude install feh % feh --bg-fill ~/wallpapers/06407122_s.xpm
としたところ,ちゃんと透過してくれるようになったので, ~/.xsession の xpmroot を使っていた部分を
feh --bg-fill ~/wallpapers/06407122_s.xpm
と書き換えて問題解決.