会社の Linux マシンで KDE2 を使っていたのだが、考えてみると KDE 特有の機能は全く使ってない。 ファイルマネージャも使わないし、ドラッグ&ドロップもしないし、KDE のアプリも使わない。 これじゃあリソースの無駄づかいな気がしたので、Window Maneger を blackbox にしてみる。
デザインがシンプルでいいし、軽い。(まあ、Athlon 1G なマシンだから速度についての切実さは薄いんだが<贅沢)
本家はこちら
実際のパッケージは、Jirai から SRPM を持ってきて、リビルドしてインストール。
.blackboxrc の設定。デフォルトから変更したのは
< session.screen0.focusModel: SloppyFocus > session.screen0.focusModel: ClickToFocus < session.screen0.focusLastWindow: False > session.screen0.focusLastWindow: True
の二ヶ所。focusModel は、ウィンドウのフォーカスに関する設定。 SloppyFocus だと、ポインタが重なってるウィンドウにフォーカスが当たるが、これって使いにくいのよね・・・ focusLastWindow は、新規に開いたウィンドウにフォーカスを当てるかどうか。
キーボードショートカット (Alt + Tab でウィンドウを切り替えたりするやつ)
は blackbox 本体ではなくて bbkeys というツールを組み合わせて使うらしいので、
ここから SPRM を持ってきてリビルド。
# /usr/local/bin にインストールされてしまったが・・・まあいいや。
bbkeys の設定は、「blackboxのインストール」 を参考に、.bbkeysrc を
KeyToGrab(m), WithModifier(Mod1), WithAction(Minimize) KeyToGrab(Up), WithModifier(Mod1), WithAction(Raise) KeyToGrab(Down), WithModifier(Mod1), WithAction(Lower) KeyToGrab(F4), WithModifier(Mod1), WithAction(Close) KeyToGrab(1), WithModifier(Mod1), WithAction(Workspace1) KeyToGrab(2), WithModifier(Mod1), WithAction(Workspace2) KeyToGrab(3), WithModifier(Mod1), WithAction(Workspace3) KeyToGrab(4), WithModifier(Mod1), WithAction(Workspace4) KeyToGrab(Right), WithModifier(Control+Mod1), WithAction(NextWorkspace) KeyToGrab(Left), WithModifier(Control+Mod1), WithAction(PrevWorkspace) KeyToGrab(Tab), WithModifier(Mod1), WithAction(NextWindow) KeyToGrab(Tab), WithModifier(Mod1+Shift), WithAction(PrevWindow)
こんな感じに記述。X 起動時に bbkeys を起動するには、Kondara の流儀に従って ~/.xinit.d/hook に、
#!/bin/sh /usr/local/bin/bbkeys -i &
とする。
KDE2 で便利だったのが、Alt+F2 で起動する一行コマンドライン。ヒストリ補完も効くので非常に便利。
専らアプリの起動はそこからやっていたので、これが使えないとストレスが溜まる溜まる。
# GNOME1.2 にもあるけど、これは補完が効かないのが不便なのよね。
ないなら自分で作ってしまえ! ということで、 Perl/Tk による GUI アプリ作成初挑戦。
秀和システムの 「入門 Perl/Tk」須栗歩人 著 (ISBN4-87966-943-1) を購入して、サンプルを適当にいじってでっち上げる。名づけて pocl (Perl One-line Command Line)・・・ネーミングがいまいちだな(^^;
~/bin/ に置いて、実行パーミッションを立てる。
Alt+F2 を押した時にこれを起動する記述を .bbkeysrc に追加。
KeyToGrab(F2), WithModifier(Mod1), WithAction(ExecCommand), Dothis(pocl)
ものすごくバータリーなコード(+設計+実装) で恥ずかしいんだが、まあ。一応、ヒストリ補完のまねごとが出来るように作ってある。 Windows の ActivePerl でも Tk モジュールをインストールすれば動作したが、あんまり嬉しくないわな。
...
ここまでやって、ふと思ったが。
Alt+F* にプログラムの起動を割り当てられるのなら、良く使うアプリ
(せいぜい両手で数えられるくらいだ) を全部 Alt+F* に割り当ててしまえば済んだことだったのか? もしかして。
# で、ファンクションキーに「メール」とか「ブラウザ」とか書いたシールを貼る(笑)。