xcompmgrを使うとFluxboxのツールバーが正しく表示されない

ツールバーが壊れている

xcompmgrでFluxboxをtrue transparent(完全透過)にするに書いた通りxcompmgrを使うとFluxboxの下でも完全透過が実現できるが、一部のstyle使用時にツールバーが正常に表示されない問題がある。(スクリーンショット参照)
回避策は何らかの方法でツールバーを再描写させることだ。

  1. ツールバーを非表示にしてから再表示する
  2. ツールバーのサイズを変更する

などが考えられるが、これをスクリプトからfluxbox-remoteを使って自動で実行させることは現在のところおそらく無理だ。ツールバーの設定を変更するキーコマンドは存在せず、Fluxboxの設定を変更する「SetResourceValue」コマンドはセキュリティ上の問題からfluxbox-remoteでは使えない。

そこでFluxboxログイン後しばらくしてからstyleを変更するスクリプトを「~/.fluxbox/startup」に仕込んでおくことにした。
~/.fluxbox/startup:

(xcompmgr -n ;
 while ! ps -C fluxbox; do sleep 3 ; done ;
 sleep 5; /home/tks/bin/randomstyle.py;) &
#...以下略...

ここで「/home/tks/bin/randomstyle.py」はFluxboxのstyleをランダムに選ぶスクリプトで紹介した物だ。
このスクリプトはxcompmgrが起動した後、3秒ごとにfluxboxが走っているか調べ、走っている場合には5秒待機してからrandomstyle.pyを実行してstyleを変更する。
少々せこい方法だが、これで完全透過を使えるようになった。

使用したソフトウェアのバージョン:


関連記事:キーボードショートカットでツールバーを再表示する