目次
現在,Momonga Linux では,GNOME,KDE といった統合デスクトップ環境をはじめ,Afterstep,blackbox,Enlightenment,IceWM,Sawfish,Window Maker といったウインドウマネージャが用意されており,wdm や sdr などにより簡単に切り替えて使用することができます.
この文書では,その中で比較的新しいウインドウマネージャであるfluxbox について紹介したいと思います.
開発は,http://fluxbox.sourceforge.net/ にて行われており,メーリングリストもあります.
fluxbox はBlackbox-0.61.1をベースにしています.このためBlakbox と共通の特徴が多くあります.テーマ("style" (スタイル)と呼ぶ)もBlackbox のものがほぼそのまま流用可能です.[1]
特徴としては,各ウインドウにタブがついており,これにより複数のウインドウをタブによってまとめることができます.(galeon やmozilla などのタブブラウザを思い浮かべるとわかりやすいでしょう.) これは異なるアプリケーション同士でも可能です.
AfterstepとWindow Maker に共通のDock アプレットを使用することができ,slit (スリット)に格納することができます,
なお,KDEとともに使用することもできるようです.
ホイールマウスを使用している場合、ホイールを回転させることによりワークスペースを切り換えることができる。
ウインドウの中の任意の場所でAlt + 左クリックで掴んでウインドウの位置を変更できます。
ウインドウの中の任意の場所でAlt + マウスの右ボタンを押したままマウスドラッグでウインドウをリサイズできます。
パッケージ名はfluxboxです.必須ではありませんが関連する有用なパッケージとしては,設定支援ツールのfluxconfと,blackbox用のツール群(bbtools)のbbpager, bblaunchなどがあります.
ウインドウをまとめるには一方のウインドウのタブを中ボタンでドラッグし,他方のウインドウのタブにドロップすることにより行うことができます.また,タブの表示位置は右クリックで表示されるメニューから自由に変更することが可能です.
fluxbox 0.1.11 から自動グループ機能が実装されました.これは同じ名前のWindow を自動的にグループ化する機能です。~/.fluxbox/init
に
session.groupFile: ~/.fluxbox/group
を追加し,~/.fluxbox/group
に自動的にグループ化したい Window 名を記述します.group の 1 行が 1 グループに対応します.異なる Window 名を持つアプリケーションを同じグループに入れたい場合は Tab で区切って同じ行に名前を羅列します.オリジナルの fluxbox はスペースも区切り文字になっていますが,これではスペースを含む名前を指定できないので,敢えて区切文字は Tab のみに変更しています.
Window Maker やAfterstep のDock を使用することができます。表示位置は、画面外周上の任意の位置を指定することができ、slit 上で右クリックすることにより表示されるメニューから変更することができます。設定は、終了時に~/.fluxbox/init に保存されます。使用するにはDock を-w もしくは -d オプションなどを付けて、Withdrawnモードで起動してください。
例
asclock -d & wmcdplay -w &
Blackbox のbbtools も使用できます。ただし、bbkeys は同等の機能がfluxbox 自体に取り込まれているため使用できません。また、壁紙変更補助ツールであるbbrb については、fluxbox-0.1.6 では起動するものの壁紙変更はできませんが、0.1.7 以降では使用できるようになりそうです。
また、Dock と同様にslit に入れるには、-w オプション付きで起動してください。
gkrellm も同様に -w オプション付きで起動することによりslit に入れることができ、各ワークスペースごとに起動しなくても全ワークスペースで表示されるようにできます。
fluxbox のメニューにStartup というsubmenu を追加して、その中で指定したアプリケーションをfluxbox 起動時に同時に起動することができるようになります。
[submenu] (Startup) [exec] (gkrellm) {gkrellm -w} [exec] (xmms) {xmms -p} [exec] (galeon) {galeon -s} [exec] (kdeinit) {kdeinit} [end]
または、~/.xinit.d/hook
に、
sleep 1 && gkrellm -w & sleep 2 && bbpager & ・ ・ ・
などのように書いてください。
もしくは、~/.fluxbox/init の
session.screen0.rootCommand: (ここに書いた項目は fluxbox 起動時に自動実行される)
の部分に
session.screen0.rootCommand: ~/script/flux-startup
と、シェルスクリプトを指定し、そちらの内部に起動項目を指定して下さい。
例
#!/bin/sh # Mouse & keyboard setting xset m 4 4 xset r rate 200 250 # background setting fsetbg /home/hoge/background.jpg # startup program gkrellm -w & # gkrellm を Dock で起動 Eterm & #
壁紙を指定するには、以下のようにします。
fsetbg /home/hogehoge/background.jpg
初めて実行した場合、
bsetbg: /home/hoge/.fluxbox/bsetbg not found, creating... bsetbg: checking for display... not found. bsetbg: checking for Esetroot... /usr/X11R6/bin/Esetroot bsetbg: checking for wmsetbg... /usr/X11R6/bin/wmsetbg bsetbg: checking for xv... not found. bsetbg: checking for xsetbg... /usr/X11R6/bin/xsetbg bsetbg: checking for qiv... /usr/X11R6/bin/qiv bsetbg: checking for xsri... not found. bsetbg: default configuration was created in /home/hoge/.fluxbox/bsetbg.
とメッセージが表示され、~/.fluxbox/bsetbg というファイルが生成されます。壁紙を指定する際のプログラムを変更したい場合、~/.fluxbox/bsetbg を編集して下さい。デフォルトでは、qiv か、xsetbg が使用されるようになっていると思います。
なお、Eterm を使用し、かつ壁紙を透過している場合、Esetroot コマンドで壁紙を指定するようにして下さい。他のコマンドでは上手く透過することができません。
### Esetroot FULL="Esetroot -scale" TILE="Esetroot" CENTER="Esetroot -c" DEFAULT="Esetroot -c"
Esetroot コマンドや、qiv の壁紙指定の詳細は、各々のヘルプを見て下さい。
起動時に壁紙を指定する場合、~/.fluxbox/init の session.screen0.rootCommand: の部分に、fsetbg コマンドを登録するか、上述したスクリプトを登録し、そちらの内部から起動時に実行するようにして下さい。
ルートウインドウ上で右クリックした時に表示されるメニューは、デフォルトでは/usr/share/fluxbox/menu.ja_JP
ですが、別のファイルを指定することにより自由にカスタマイズすることが可能です。
~/.fluxbox/init
をエディタで開いて、
session.menuFile: /home/kourin/.fluxbox/menu.ja_JP
などと書き換えます。(fluxbox-0.1.9からはfluxbox起動中に設定ファイルを変更する ことができるようになりました.)
次に、/usr/share/fluxbox/menu.ja_JP (or menu)
を~/.fluxbox/
以下にコピーします。
% cp /usr/share/fluxbox/menu.ja_JP ~/.fluxbox/
先ほどコピーしたファイルをエディタで編集します。書き方は実際に見ればわかると思いますが、
[exec](rxvt) {rxvt}
(rxvt) がメニューに表示される文字で、後ろの{}の中が実行されるコマンドです。ですので、
[exec] (w3m-img) {Eterm --trans -e w3m-img ~/.w3m/bookmark.html}
のようにに書くと、メニューに「w3m-img 」が追加されます。
fluxboxの設定変更を行なう際に便利なツールとして、fluxconfがあります.
# fluxconf
で,fluxboxの設定を,
# fluxkeys
で,キーバインドの設定を
fluxmenu
で,メニューの設定を,それぞれ変更することができます.(ただし今のところ日本語 には対応していません.)
他の多くのウインドウマネージャと同様に、キーボードからウインドウの操作などを行なうことが可能です。デフォルトの設定ファイルは、/usr/share/fluxbox/keys
ですが、さきほどのメニューと同様に~/.fluxbox/key
などに変更することが可能です。
デフォルトの設定は以下のようになっており、Alt + Tab で次のウインドウへフォーカスが移ります。
Mod1 Tab :NextWindow Mod1 Shift Tab :PrevWindow Mod1 F1 :Workspace1 Mod1 F2 :Workspace2 Mod1 F3 :Workspace3 Mod1 F4 :Workspace4 Mod1 F5 :Workspace5 Mod1 F6 :Workspace6 Mod1 F7 :Workspace7 Mod1 F8 :Workspace8 Mod1 F9 :Workspace9 Mod1 F10 :Workspace10 Mod1 F11 :Workspace11 Mod1 F12 :Workspace12
この他、Ctrl キー(Control)や、カーソルキー(Up、Down、Left、Right)や通常の文字キー等も組み合わせて使用することができます。
また、設定可能な項目については、こちらにまとめられております。
さらに、
Mod1 P :ExecCommand xmms -p Mod1 F :ExecCommand xmms -f None F1 :ExecCommand galeon
などとして、アプリケーションの起動に割り当てることもできます。 3番目のように設定することにより、F1キー単独でアプリケーションを起動することもできます。
カスタマイズするには~/.fluxbox/keys を直接編集するか、もしくはfluxconf に含まれるfluxkeys を使用することができます。
この文書は Kondara Project の fluxbox-HOWTO をベースに、Momonga Project で拡張された部分などを追加して書かれています。
fluxbox-HOWTO の著者である kourin 氏、及び Kondara Project、また Kondara Project でドキュメントのメンテナンスをされていた諸氏に、ここに謝辞を程します。
この文書は無保証です。この文書の利用およびこの文書に基づいて作業をされた結果、何らかの損害を被ったとしても、原著者はいかなる責任をも負いませんのでご了承ください。
この文書の著作権は kourin 氏、Kondara Project、ならびに Momonga Project にあります。 この文書の配布ライセンスは、利用許諾のオプション A. B. を除外したオープン・パブリケーション利用許諾契約書 (OPL -- Open Publication License)に従います。
OPL についての詳細は、http://www.opencontent.org/openpub/ を参照してください。 また、八田真行氏による OPL ドラフト v1.0 日本語訳がhttp://www.opensource.jp/openpub/にて参照可能です。
この文書を再配布する場合は、可能な限りhttp://www.momonga-linux.org/docs/fluxbox-HOWTO/ja/ 以下から最新版を入手し、それを配布してください。