Momonga-fluxbox-HOWTO

概要

軽量でタブ機能をもつウインドウマネージャfluxbox の紹介


目次

1. はじめに
2. fluxbox について
2.1. 開発
2.2. 特徴
2.3. その他の機能
2.4. 参考になる文書など
3. 導入にあたっての注意
3.1. インストール
3.2. man fsetroot としたら、bsetroot のman が表示されました
4. 機能
4.1. タブ機能について
4.2. slit
4.3. bbtools
4.4. fluxbox 起動時に他のアプリケーションを自動で起動するには
4.5. 壁紙を指定するには
5. カスタマイズ
5.1. メニューのカスタマイズ
5.2. fluxconf
5.3. キーボートによる操作
6. 謝辞
7. 免責と著作権について

1. はじめに

 現在,Momonga Linux では,GNOME,KDE といった統合デスクトップ環境をはじめ,Afterstep,blackbox,Enlightenment,IceWM,Sawfish,Window Maker といったウインドウマネージャが用意されており,wdm や sdr などにより簡単に切り替えて使用することができます.

 この文書では,その中で比較的新しいウインドウマネージャであるfluxbox について紹介したいと思います.

2. fluxbox について

2.1. 開発

 開発は,http://fluxbox.sourceforge.net/ にて行われており,メーリングリストもあります.

2.2. 特徴

 fluxbox はBlackbox-0.61.1をベースにしています.このためBlakbox と共通の特徴が多くあります.テーマ("style" (スタイル)と呼ぶ)もBlackbox のものがほぼそのまま流用可能です.[1]

 特徴としては,各ウインドウにタブがついており,これにより複数のウインドウをタブによってまとめることができます.(galeon やmozilla などのタブブラウザを思い浮かべるとわかりやすいでしょう.) これは異なるアプリケーション同士でも可能です.

図 1. タブ化した様子

タブ化した様子

 AfterstepとWindow Maker に共通のDock アプレットを使用することができ,slit (スリット)に格納することができます,

 なお,KDEとともに使用することもできるようです.

2.3. その他の機能

  • ホイールマウスを使用している場合、ホイールを回転させることによりワークスペースを切り換えることができる。

  • ウインドウの中の任意の場所でAlt + 左クリックで掴んでウインドウの位置を変更できます。

  • ウインドウの中の任意の場所でAlt + マウスの右ボタンを押したままマウスドラッグでウインドウをリサイズできます。

3. 導入にあたっての注意

3.1. インストール

 パッケージ名はfluxboxです.必須ではありませんが関連する有用なパッケージとしては,設定支援ツールのfluxconfと,blackbox用のツール群(bbtools)のbbpager, bblaunchなどがあります.

3.2. man fsetroot としたら、bsetroot のman が表示されました

 これは現時点での仕様です。元々のソースにはbsetroot のman がそのまま入っています。Momonga では、blackbox に含まれるbsetroot と共存させるために、コマンド、man ともにbsetroot をfsetroot にリネームしてあります。

4. 機能

4.1. タブ機能について

 ウインドウをまとめるには一方のウインドウのタブを中ボタンでドラッグし,他方のウインドウのタブにドロップすることにより行うことができます.また,タブの表示位置は右クリックで表示されるメニューから自由に変更することが可能です.

 fluxbox 0.1.11 から自動グループ機能が実装されました.これは同じ名前のWindow を自動的にグループ化する機能です。~/.fluxbox/init

     session.groupFile: ~/.fluxbox/group

を追加し,~/.fluxbox/group に自動的にグループ化したい Window 名を記述します.group の 1 行が 1 グループに対応します.異なる Window 名を持つアプリケーションを同じグループに入れたい場合は Tab で区切って同じ行に名前を羅列します.オリジナルの fluxbox はスペースも区切り文字になっていますが,これではスペースを含む名前を指定できないので,敢えて区切文字は Tab のみに変更しています.

4.2. slit

 Window Maker やAfterstep のDock を使用することができます。表示位置は、画面外周上の任意の位置を指定することができ、slit 上で右クリックすることにより表示されるメニューから変更することができます。設定は、終了時に~/.fluxbox/init に保存されます。使用するにはDock を-w もしくは -d オプションなどを付けて、Withdrawnモードで起動してください。

   例

asclock -d &
wmcdplay -w & 

4.3. bbtools

 Blackbox のbbtools も使用できます。ただし、bbkeys は同等の機能がfluxbox 自体に取り込まれているため使用できません。また、壁紙変更補助ツールであるbbrb については、fluxbox-0.1.6 では起動するものの壁紙変更はできませんが、0.1.7 以降では使用できるようになりそうです。

 また、Dock と同様にslit に入れるには、-w オプション付きで起動してください。

 gkrellm も同様に -w オプション付きで起動することによりslit に入れることができ、各ワークスペースごとに起動しなくても全ワークスペースで表示されるようにできます。

4.4. fluxbox 起動時に他のアプリケーションを自動で起動するには

 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 &       # 

4.5. 壁紙を指定するには

壁紙を指定するには、以下のようにします。

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 コマンドを登録するか、上述したスクリプトを登録し、そちらの内部から起動時に実行するようにして下さい。

5. カスタマイズ

5.1. メニューのカスタマイズ

 ルートウインドウ上で右クリックした時に表示されるメニューは、デフォルトでは/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 」が追加されます。

5.2. fluxconf

 fluxboxの設定変更を行なう際に便利なツールとして、fluxconfがあります.

# fluxconf

で,fluxboxの設定を,

# fluxkeys

で,キーバインドの設定を

fluxmenu

で,メニューの設定を,それぞれ変更することができます.(ただし今のところ日本語 には対応していません.)

5.3. キーボートによる操作

 他の多くのウインドウマネージャと同様に、キーボードからウインドウの操作などを行なうことが可能です。デフォルトの設定ファイルは、/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 を使用することができます。

6. 謝辞

この文書は Kondara Project の fluxbox-HOWTO をベースに、Momonga Project で拡張された部分などを追加して書かれています。

fluxbox-HOWTO の著者である kourin 氏、及び Kondara Project、また Kondara Project でドキュメントのメンテナンスをされていた諸氏に、ここに謝辞を程します。

7. 免責と著作権について

この文書は無保証です。この文書の利用およびこの文書に基づいて作業をされた結果、何らかの損害を被ったとしても、原著者はいかなる責任をも負いませんのでご了承ください。

この文書の著作権は 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/ 以下から最新版を入手し、それを配布してください。



[1] 実際には、フォント周りに修正が必要なことが多いので、Momonga のfluxbox では、変換のために細工がしてあります。詳しくはfluxbox.spec を参照。