site top fluxbox tips profile blog

Okumatsu_Hiroshi Website

last update 2010/5/27

Fluxbox はじめの三歩

(最初にやる設定等)

このセクションは、わたしの個人的な趣味によるfluxboxの初期設定について 思いつくままに書いたものです。ですが大体この様にすれば、快適にfluxboxが楽しめるんじゃないかと思います。

動画や音楽やウェブブラウザの設定についてはここでは触れません。詳しいサイトが他にたくさん ありますので。

尚ここでの設定は、主としてUbuntuの現時点(2010年5月)での最新版Ubuntu-10.04 Desktop日本語Remixによるものです。
fluxboxのバージョンは1.1.1.6です。
設定を行ったマシンのスペックについてはprofileを見てください。






fluxboxをインストールする

最初にお断りしますが、ここでの解説はシステムにUbuntu-9.10以降のバージョン(Gnome)で、 日本語デスクトップ環境がインストールされていることを前提にしています。

fluxboxはバージョン1.1.0以降2年程は、大きな変更は加えられていないので、 9.10より古いバージョンのUbuntuや他のディストリビューションでも基本的な設定は同じはずですが、アプリケーションの インストールの仕方や、シェルコマンドなど、細かい点での違いがあると思います。それぞれに合わせて変えてください。

なにはともあれfluxboxをインストールしなきゃ話になりません。

Ubuntu(Gnome)でアプリケーションを追加するにはsynapticパッケージマネジャーを使うか、
ターミナルからコマンドを使ってインストールします。
synapticを使ってインストールする方法は省略します。
ターミナルからインストールする場合は、例えばgnome-terminalを起動し、次のようにします。

$ sudo aptitude install fluxbox eterm

fluxboxは軽くて小さなウインドウマネジャーですが、カスタマイズの幅が 広く、非常に強力なプログラムです。サイズも4MB程しかありません。
fluxboxパッケージだけで、基本的にはほとんどのことが可能ですが、壁紙の画像をデスクトップに表示するためにetermを一緒にインストールしましょう。

その他、デスクトップの設定、メニューの編集、ショートカットキーの設定などをするためのツールも必要であれば インストールします。

$ sudo aptitude install fluxconf fbpager

[fluxconf] (fluxboxの基本設定ができるツール。fluxmenu,fluxkeys,fluxbareが一緒に含まれています)
[fbpager] (ワークスペースを小さく表示、切り替えができるツール)


注意! fluxkeysは開発がストップしていて、使用するとキー設定ファイルを壊してしまうそうですので、 使わない方がいいでしょう。筆者はfluxconf自体使用していません。

ちなみに、fluxconfは長い間メンテナンスされていないそうで、バグも多いらしく、Fluxbox-wikiでも使用を推奨していません。
Using fluxconf - Okumatsu_Hiroshi Website

でも、fluxboxの設定はほとんどメニューからできますし、ショートカットキーもデフォルトでかなり用意されています。

メニューだけは自分で編集しないといけませんが、 fluxMenu という素晴らしいアプリケーションがあります。
わたしのブログでfluxMenuについての記事を書いてます。よかったら見にきてください。
GUIでできるFluxbox Menu Editor - Okumatsu Web


fluxboxをインストールしたら、一旦ログアウトします。
ログイン画面の下にセッションを選択するリストがありますので、そこからfluxboxを選んでログインしましょう。これで fluxboxが立ち上がりますが、初めて起動した画面はこんな感じです。


fluxboxの初期デスクトップ(Ubuntu-10.04の場合)

first desktop

ツールバーと壁紙しかありません。メニューは、マウスを右クリックすると表示されますが、 文字が変な風に化けてますね。文字化けの部分は日本語のはずなんですが、フォントの設定をしないとちゃんと表示されません。
Ubuntuの日本語デスクトップには、Sans-Serif(標準ゴシック)フォントとしてTakaoゴシック(9.10はVLゴシック)が用意されていますので、 スタイルファイルのフォント指定がSansになっていれば、ちゃんと日本語が表示されます。
このままだと後の作業がやりにくいので、メニューのStylesというところから適当なものを選んで、スタイルを変更 しましょう。中に日本語がきちんと表示されるスタイルがあるはずです。
わたしの好みで言うとbora_bluegreen_teaあたりがいいと思います。

style_green_tea.png

{注! もしこれでも日本語が文字化けするという場合は、/usr/share/fluxbox/styles の中にある、bora_blueまたはgreen_teaというフォルダの中のtheme.cfgというファイルをエディタ で開いてみてください。******.font: という行にSansという記述があるはずです。もしここが日本語を含まない 欧文フォントの設定だったら、日本語は表示できませんので、書き換える必要があります。}

日本語が文字化けせずに表示されましたか?

でも、これでは壁紙があまりにも寂しいですね。何とかしましょう。

詳しい設定の仕方はここでは書きませんが、コマンドから壁紙を設定する方法を一つ。

$ fbsetbg -f ~/Pictures/background.jpg   => 指定した画像をフルスクリーンで描く

ターミナルからこうするだけでOKです。一度このコマンドを実行すると、~/.fluxbox/lastwallpaper というファイルに 記録されて、次回ログイン時にもこの壁紙が使用されます。

ホームのディレクトリ名を英語表記に変更する方法

ちなみに、上で挙げたようなコマンドを使用するときに、ディレクトリ名が日本語のままだと滅茶苦茶やりにくいんです。 全くターミナルを使わなければそれはそれでOKなんですが、fluxbox を使おうとするなら、そうもいかないでしょう。

これは好みの問題なので、一応その方法だけ紹介します。

ターミナルを開き(またターミナル!)、こうタイプします。

$ LANG=C xdg-user-dirs-gtk-update

後はプログラムの指示に従えば、ディレクトリが英語表記に変わります。

それから今後日本語名のディレクトリは使わないのなら、/etc/xdg/user-dirs.conf を変更します。

$ sudo gedit /etc/xdg/user-dirs.conf

そして以下の部分を変更します。

enabled=True    => ここを False に変更する

rox-filerをインストールする

次に、ファイルマネージャを用意します。Gnome標準のファイルマネージャnautilusを使っても いいです。
その他、thunar(xfce4標準ファイルマネジャー)や、pcmanfm(LXDEの標準ファイルマネジャー)などもあります。
{注! nautilusをfluxboxで起動するときには --no-desktop オプションを つけてください。そうしないと、デスクトップの管理を奪われてしまい、ルートメニューも表示できなくなりますので注意してください。 オプション付きのコマンド実行には、fbrun というソフトを使うと便利です。
Alt+F2 で小さなインプットボックスが表示されますので、コマンドを入力して Enter キーを押すだけです。}


よく分からない人は、わたしのおすすめのファイルマネジャー、rox-filerをインストールしましょう。
ターミナルで、

$ sudo aptitude install rox-filer

とすればOKです。

さっそく起動しましょう。
初期状態では、メニューの場所がめちゃめちゃ分かりにくいですが、
アプリケーションシステムとたどっていくと、rox-filerがあります。

{注! rox-filerをメニューに反映させるには、ログインし直すか、ターミナルからupdate-menusコマンドを実行する必要 があります。その場合、ターミナルを開いて、
$ update-menus
としてください。インストールしたアプリケーションがメニューに追加されるはずです。}


起動したら .fluxbox というフォルダを開きます。ファイル名、フォルダ名の初めに . (ドット)がついているもの は、Linuxでは隠しファイルとなっています。
初期状態では隠しファイルは非表示になっていますが、ツールバーの目玉のアイコンをクリックすると表示されます。


rox-filer

rox filer


これが.fluxboxの中にあるファイルです。これらのファイル(テキストファイル)を編集することで、 fluxboxの設定ができます。
以降のセクションで各ファイルについて解説しますが、設定ファイルを簡単に紹介します。

# 設定ファイル
init            => fluxboxの初期設定ファイル
startup         => fluxboxの起動スクリプト
menu            => fluxboxが読み込むメニューファイル
windowmenu      => タイトルバー右クリックで表示されるメニュー
keys            => ショートカットキー、マウスアクションの定義ファイル
apps            => 個別のアプリの振舞、グループ化を設定するファイル
lastwallpaper   => 最後に表示された壁紙の設定を記録するファイル
overlay         => 起動時に上書きしたい設定を書き込めるファイル
fbrun_history   => fbrunのコマンド履歴を保存するファイル
# ディレクトリ
styles          => ユーザーのスタイルを置くディレクトリ
pixmaps         => ユーザーのアイコンなどを置く
background      => 壁紙などを置くディレクトリ
# 初期状態では存在しないファイル
fluxbox-menu    => update-menusコマンドが生成するメニューファイル
menudefs.hook   => update-menusコマンドが生成するファイル
slitlist        => スリットに格納するドックアプリのリスト

テキストファイルの編集にはテキストエディタを使いますが、Gnomeにはgeditというエディタ が用意されてますので、これを使うか(使い方の分かる方は)vimemacssciteなどを使ってもよいでしょう。

ここではgeditを使うことにしましょう。

rox-filerでテキストファイルをクリックしてもgeditは起動しませんので、アイコン上で右クリックし、メニューから 対応アプリの設定を選んで設定をします。


rox contextmenu

すると、ファイルを開くアプリケーションを設定するダイアログが表示されます。


rox mimetypes dialog

上のように`text/<anything>'すべてに適用するにチェックを入れ、下のボックスにgedit "$@"と 入力して使用コマンドボタンをクリックして設定は終了です。

これでファイルマネジャーが一応使えるようになりました。
さあ、次に進みましょう。

補足

rox-filer の設定は、ファイラーウインドウの右クリックメニューから行いますが、初期状態はメニューが英語のままです。 これを変更するには、右クリックメニューの options というところをクリックして設定画面を表示します。

rox_change_lang.png

上のスクリーンショットのように、[Translation]という項目で Japanese を選んでください。rox-filer を 再起動すれば日本語になっています。

また、デフォルトではシングルクリックでファイルやディレクトリが開きますが、これもオプション画面からダブルクリックに 変更できます。

rox_filer_settings.png


初期設定ファイル(init)を編集する

initファイルはfluxboxの起動時に読み込まれ、デスクトップ上の様々な振る舞いを制御します。
デフォルトのままでもそれなりに使えるようにはなっていますが、少々変更した方が格段に便利になります。詳しい設定の仕方は Editing the init fileを読んでもらった方がいいと思いますが、 メニューから簡単に変更できるものが多いので、以下に紹介しようと思います。

initファイルの内容の大部分はメニューから設定できます。まず最初にこのことを覚えてください。

メニューのConfiguretionというところを開くと、以下のようにfluxboxの設定メニューになっています。


configuration_menu.png



メニューからinitファイルを設定する

それでは、メニューから色々設定してみましょう。設定した内容は自動的に initファイルに書き込まれるので、次回の起動時も有効となります。
メニューに沿って簡単に説明します。

フォーカスモデル
  - フォーカス(ウインドウに対して、カーソルオーバーでフォーカスするか、
    クリックでフォーカスするかを指定する)
  - ClickTabFocus,MouseTabFocus(ウインドウのタブに対するフォーカスの指定)
  - 新規ウインドウにフォーカス(読んで字のごとく)
  - フォーカスを当てたときに最前面・・・(offにするとフォーカスしても前面に
    出ない)

Maximize Options
  - 完全最大化(ウインドウ最大化の時、ツールバーとスリットを隠す)
  - Ignore Resize Increment(change logにはウインドウを最大化した時
    にサイズのチェックをしないとありますが、よく意味が分かりません。ONにし
    てもOFFにしてもあまり挙動が変わらないような。)
  - Disable Moving(最大化の時、移動不可にする)
  - Disable Resizing(最大化の時、リサイズを不可にする)

Tab Options
  - 配置(ウインドウのどこにタブを表示するかを指定)
  - Tabs in Titlebar(タブをタイトルバーにドッキング)
  - Maximize Over(ウインドウ最大化時にタブを隠す)
  - Show Pictures(タブにアイコンを表示する)
  - External Tab Width(タブの幅を指定)

Transparency
  デスクトップアイテムの透明度を[0-255]の範囲で指定する。
  - Force Pseudo-Transparency(擬似透明化を有効にするかどうか)
  - Focused Window Alpha(アクティブなウインドウの透明度を指定)
  - Unfocused Window Alpha(アクティブでないウインドウの透明度を指定)
  - Menu Alpha(メニューの透明度を指定)

Slit
  スリットはfluxboxのドックアプリで、デスクトップに置いてランチャーとして
  使う。設定はウインドウやツールバーに準じる。

ツールバー
  - Visible(ツールバーをデスクトップに表示するかどうか)
  - 自動的に隠す(ONにするとカーソルオーバーしたときのみ現れる)
  - Toolbar width percent(ツールバーの横幅を%で指定する)
  - Maximize Over(ウインドウ最大化の時に隠す)
  - Layer(デスクトップ上での表示の優先順位を指定する)
  - On Head(複数ディスプレイの場合に使う)
  - 配置(スクリーンのどこに置くかを指定する)
  - Alpha(透明度を指定する)
  - Edit Clock Format(時計の表示を変更する)
  - Iconbar Mode(アイコンバーのモードを指定する。詳しくはマニュアルを見て)
    -Left,Relative,Right(タスクボタンの表示の仕方を指定)
    -Show Pictures(タスクボタンにアイコンを表示するかどうか)

その他
  - ウインドウの内容を表示したまま移動(書いてあるとおり)
  - ウインドウドラッグでワークスペースを移動(読んで字のごとく)
  - Click Raises(クリックしたウインドウを最前面に出すかどうか)


ワークスペースメニューから設定する

ワークスペース名を変更したり、追加・削除などもメニューからできるようになっています。
デスクトップ上でスクロールボタンをクリックしてみてください。次のようなメニューが現れます。


workspace menu


新規ワークスペースを作成      - 新しいワークスペースを末尾に付け加える
現在のワークスペース名を編集   - ワークスペース名を編集するダイアログを表示する
末尾のワークスペースを削除    - 書いてあるとおり

ワークスペース名を編集するダイアログは次のようなものが表示されます。


set workspace name


initファイルでは、session.screen0.workspaceNamesというリソースになります。このダイアログで名前を変更すれば 自動的にinitファイルに書き込まれます。



initファイルを直接編集する

メニューからでは設定できないものもあります。それらは直接initファイルを編集する必要があります。
以下に主なものを挙げておきます。

session.screen0.windowScrollAction: shade|nexttab
  shadeは、タイトルバー上でスクロールするとウインドウを折りたたみます。
  nexttabは、ウインドウがグループ化されている時、スクロールで切り替えます。
  デフォルトは何も設定されていません。

session.screen0.windowScrollReverse: <boolean>
  windowScrollActionのスクロールの方向を逆にします。
  デフォルトはfalseです。

session.screen0.toolbar.height: <integer>
  ツールバーの高さを整数で指定します。ツールバーの高さはスタイルファイルでも指定
  出来ますが、initファイルで指定すると、スタイルの設定が無効になる様です。
  0を指定するとスタイルの設定が有効になります。デフォルトは0です。

session.screen0.iconTextPadding: <integer>
  アイコンバー(タスクバー)ボタンの端からテキストまでの間隔を整数で指定します。
  デフォルトは10です。

session.screen0.iconbar.iconWidth: <integer>
  アイコン(タスク)ボタンの幅を整数で指定します。
  デフォルトは70です。

session.screen0.userFollowModel: <model>
  他のワークスペースにあるウインドウをアクティブにした時の動作を指定します。
  - Ignore     - 何もしません。
  - Follow     - ウインドウがあるワークスペースへジャンプします。
  - Current    - ウインドウを現在のワークスペースに持ってきます。
  - SemiFollow - 最小化されているウインドウはCurrentと同じ、その他はFollowと同じ動きをします。
  デフォルトはFollowです。

session.screen0.autoRaiseDelay: <integer>
  フォーカスされたウインドウが前面に出るまでの時間をミリセコンドで指定します。
  デフォルトは250です。

session.screen0.showwindowsposition: <boolean>
  ウインドウを移動する際に、その正確な位置情報を小さなウインドウで表示します。
  ウインドウの左上隅が基準になっています。
  デフォルトはtrueです。

session.screen0.defaultDeco: <string>
  ウインドウに施すデフォルトの装飾を指定します。
    - NORMAL - 標準
    - NONE   - タイトルバーもボーダーもないウインドウだけ
    - BORDER - ウインドウにボーダーのみ
    - TINY   - 最小化ボタンのみのタイトルバー
    - TOOL   - タイトルバーだけ
    - TAB    - タブだけ
  デフォルトはNORMALです。

session.screen0.menuMode: Delay|Click
  サブメニューを自動的に開くか、クリックして開くかを指定します。
  デフォルトはDelayです。

session.screen0.menuDelay: <integer>
  サブメニューが開くまでのタイムラグをミリセコンドで指定します。
  デフォルトは0です。

session.screen0.menuDelayClose: <integer>
  メニューをクリックしてから閉じるまでのタイムラグをミリセコンドで指定します。
  デフォルトは0です。

session.screen0.edgeSnapThreshold: <integer>
  ウインドウをスクリーンの端に持って行った時ピタッとくっつくような効果があります。
  効果が現れる距離を整数で指定します。
  デフォルトは10です。

session.screen0.windowPlacement: <placement>
  デフォルトはRowMinOverlapPlacementです。
session.screen0.rowPlacementDirection: LeftToRight|RightToLeft
  デフォルトはLeftToRightです。
session.screen0.colPlacementDirection: TopToBottom|BottomToTop
  デフォルトはTopToBottomです。
  これらのリソースに関してはEditing the init fileを見てください。

session.screen0.doubleClickInterval: <integer>
  fluxboxがダブルクリックとみなすクリックの間隔をミリセコンドで指定します。
  デフォルトは250です。

session.screen0.toolbar.tools: <tools>
  ツールバーに組み込むツールを選んで指定します。書き込んだ順番で表示されます。
  カンマで区切ってください。
  - clock           (時計を表示)
  - iconbar         (タスクバー)
  - nextwindow      (次のウインドウへのボタン)
  - prevwindow      (前のウインドウへのボタン)
  - nextworkspace   (次のワークスペースへのボタン)
  - prevworkspace   (前のワークスペースへのボタン)
  - systemtray      (システムトレイ、アプリケーション通知領域)
  - workspacename   (ワークスペースの名前を表示)

session.screen0.titlebar.left: <item>
session.screen0.titlebar.right: <item>
  ウインドウのタイトルバーに組み込むアイテムを指定します。
  - Close           (ウインドウを閉じる)
  - Maximize        (最大化する)
  - Minimize        (最小化する)
  - MenuIcon        (ウインドウメニューを表示する)
  - Shade           (ウインドウを折りたたむ)
  - Stick           (すべてのワークスペースに表示する)

  デフォルトは、左が Stick、右が Minimize, Maximize, Closeになっています。
  もちろん、すべて左に寄せてもいいですし、何も表示しないというのもありです。
  (設定すればキーボードですべて操作できます。)
  これはなぜか半角スペースで区切って書き込むことになってます。

スタートアップを編集する

スタートアップファイルは、文字通りfluxboxをスタートさせるためのスクリプトファイル です。ファイルの最後には必ず、

exec fluxbox

という行があります。
このファイルは、通常編集する必要はないんですが、fluxboxの起動時に、何か特別なことをさせたいときに使います。 例えば、あとの項で説明するデスクトップアイコンの表示とか、タッチパッドの設定とかいろいろ。

ここでは、わたしの設定を見てもらって説明したいと思います。

#!/bin/sh
#
# fluxbox startup-script:
#xmodmap ~/.Xmodmap     <= この行はコメントアウトしておく

xrdb ~/.Xresources

sh /home/okumatsu/bin/tuchpad.sh

exec fluxbox &
fbpid=$!
sleep 20        => ここは環境に合わせて秒数を加減する
{
conky &
} &
wait $fbpid

#exec fluxbox   => この行はコメントアウトする

とても簡単なファイルですね。

{注意! デフォルトのstartupは、.Xmodmap(キーボードレイアウトの設定ファイル) も読み込む行がありますが、現在のUbuntuはgdmのセッションが自動的に読み込むようになっています。 ですから、ここにxmodmap ~/.Xmodmapという行を書いてしまうと、ダブってしまいます。Ctrlキー とCapsLockを交換する設定の場合、二回読み込んで元に戻ってしまいますので注意してください。}

xrdb .Xresourcesは、Xウインドウシステムの様々な設定を書き込んだファイルを読み込みます。 必ずしも要るものではありませんが、デスクトップのDPI設定やXアプリケーションの設定には有効です。

sh /home/okumatsu/bin/tuchpad.shの行は、起動時にタッチパッドの回転スクロールの設定ファイル を読み込んでいます。

sleep 20以降は、conkyというアプリを20秒後に起動してください、という 設定です。こうしないとconkyはうまく自動表示できません。

{注! Ubuntu-10.04になり、少し状況が変わりました。結論から言うと conky の起動に関しては、ほとんど遅らせなくてもちゃんと表示されるようになりました。ただ、conky以外にも自動起動させるアプリがある 場合、エラーが起きる可能性もあるので、こういう方法があるのだということを覚えておくと役に立つと思います。}

その他、自動起動したいアプリケーションがあったら、このファイルに書いておけばいいのです。

より詳しいことは
Editing the startup file - Okumatsu_Hiroshi Website
をみてください。


メニューを編集する

初めてfluxboxを起動したときのメニューは、ほとんどのアプリケーションが登録されて いるとはいえ、とてもゴチャゴチャして使いにくいんです。
これをカスタマイズせずに使うことはほとんど考えられないですね。
詳しいメニューファイルの設定については、
Editing the menu - Okumatsu_Hiroshi Website
を読んでください。

ここでは短く書きます。
初期状態のメニューファイルは以下の様になっていると思います。

[begin]
  [include] (/etc/X11/fluxbox/fluxbox-menu)
[end]

includeの意味は、( )の中のメニューファイルを読み込んで表示するよ、ということです。

ですから最初は、このメニューを残しつつ必要なものを足していけばいいと思います。
例えば、

[begin]
  [exec] (firefox) {/usr/bin/firefox}
  [exec] (terminal) {/usr/bin/gnome-terminal}
  [exec] (gedit) {/usr/bin/gedit}
  [nop] (- - - - - -)
  [submenu] (Fluxbox)
    [include] (/etc/X11/fluxbox/fluxbox-menu)
  [end]
[end]

これだけでもだいぶ使いやすい。


サンプルとして、わたしのメニューファイルを紹介します。

メニューサンプル


筆者のメニューのスクリーンショットがこれです。


mymenu

アイコンも結構きれいに表示できるんですが、テキストエディタですべて編集するのがたいへん だという人は、GUIのツールもありますのでそちらを使うとよいでしょう。わたしのブログで紹介しています。


GUIでできるFluxbox Menu Editor - Okumatsu Web

GUIでできるFluxbox Menu Editorその2 - Okumatsu Web


アイコンの表示の仕方に関しては、以下を参考にしてください。

メニューのアイコン設定


キーファイルを編集する

キーファイルはfluxboxのショートカットキーを定義するファイルです。詳しい説明は Configuration howtosの Keyboard shortcuts を見てください。
ここでは、わたしのキーファイルを紹介しながらその使い方を少し解説します。

以下がわたしのキーファイルの中身です。

# デスクトップ上でクリックしてメニューを表示
# 左クリックでメニューを隠す
OnDesktop Mouse1 :HideMenus
# ミドルクリックでワークスペースメニュー
OnDesktop Mouse2 :WorkspaceMenu
# 右クリックでルートメニュー表示
OnDesktop Mouse3 :RootMenu

# デスクトップをダブルクリックして全てのウインドウを隠す
OnDesktop Double Mouse1 :ShowDesktop

# デスクトップ上 Ctrl + スクロールでワークスペースを移動
# 前のワークスペースへ
OnDesktop Control Mouse4 :PrevWorkspace
# 次のワークスペースへ
OnDesktop Control Mouse5 :NextWorkspace

# ツールバー上 スクロールでワークスペースを移動
OnToolbar Mouse4 :PrevWorkspace
OnToolbar Mouse5 :NextWorkspace

# alt + 左クリックでウインドウを移動
OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
# alt + 右クリックでカーソルから近いコーナーをリサイズ
OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}

# タイトルバー上 ミドルクリックでグループ化
OnTitlebar Mouse2 :StartTabbing

# タイトルバー上 ダブルクリックで最小化
OnTitlebar Double Mouse1 :Minimize

# タイトルバー上 右クリックでウインドウメニュー
OnTitlebar Mouse3 :WindowMenu

# alt + tabで次のウインドウにフォーカス
Mod1 Tab :NextWindow {groups}
# alt + shift + tabで前のウインドウにフォーカス
Mod1 Shift Tab :PrevWindow {groups}

# 音量設定
121 :Exec amixer sset Master,0 toggle
123 :Exec amixer sset Master,0 1+
122 :Exec amixer sset Master,0 1-

# alt + functionキーでコマンド実行
Mod1 F1 :Exec firefox
Mod1 F2 :Exec google-chrome
Mod1 F3 :Exec gnome-terminal
Mod1 F4 :Close
Mod1 F5 :Exec rox-filer
Mod1 F6 :Exec scite
Mod1 F7 :Exec gvim
Mod1 F8 :Exec kasumi
Mod1 F9 :Minimize
Mod1 F10 :Maximize
Mod1 F11 :Fullscreen
Mod1 F12 :Exec gnome-system-monitor

# Mod4(windows key) + key でコマンド実行
Mod4 Return :Exec fbrun
# すべてのウインドウを閉じる
Mod4 F4 :CloseAllWindows
Mod4 F5 :
Mod4 F6 :
# 横方向にのみ最大化
Mod4 F7 :MaximizeHorizontal
# 縦方向にのみ最大化
Mod4 F8 :MaximizeVertical
# すべてのウインドウを最小化
Mod4 F9 :ShowDesktop
# 表示中のウインドウをタイル状に整列
Mod4 F10 :ArrangeWindows
# 設定をリロード
Mod4 F11 :Reconfigure
# fluxboxをリスタート
Mod4 F12 :Restart

# シャットダウン
Control Mod1 Delete :Exec gksu halt
# 再起動
Control Mod1 BackSpace :Exec gksu reboot
# Ctrl + alt + oでログアウト(fluxboxを終了)
Control Mod1 32 :Exit

# スクリーンショットを撮る
107 :Exec gnome-screenshot
# アクティブウインドウのスクリーンショット
Mod1 107 :Exec gnome-screenshot -w
# 5秒後にアクティブウインドウのスクリーンショット
Control Mod1 107 :Exec gnome-screenshot -w --delay=5

わたしのキー設定はデフォルトの設定を多く残して、その他をを付け足した だけですが、デフォルトのままでも普通に使うのには困らないようになっているはずです。

けれども、キーボードだけで全てのコマンドを操作できるほどカスタマイズの余地があって、やり方によってはかなり複雑 なこともできます。
詳しくは、しつこいですがこちらをどうぞ。

Keyboard shortcuts - Okumatsu_Hiroshi Website


よかったらこちらも。

fluxbox keysファイルの設定 こうすれば快適 - Okumatsu Web



appsファイルを編集する

appsファイルでは指定のアプリケーションに対し、サイズ、位置、その他について固有の設定ができるように なっています。また、その設定を終了時に記憶しておくこともできます。
アプリケーションのグループ化を除いて、ほとんどの設定はウインドウメニューでできるようになっています。
ウインドウメニューは、タイトルバーを右クリックすると表示されます。



ウインドウメニュー

window menu


ウインドウメニューからは様々な設定ができますが、その設定は終了時に保存されません。次回も同じ設定 でアプリケーションを起動したいときは、Remember...セクションのSave on closeにチェックを入れてください。 これで、目的のウインドウへの設定が終了時に保存されます。
以下にその他のエントリーを紹介します。



Rememberセクションのエントリー

Workspace
  今ウインドウがあるワークスペースを記憶します。
Jump to workspace
  ウインドウを開くと同時にそのワークスペースへ切り替えます。
Head
  ウインドウを開くスクリーンを記憶します。
Dmensions
  ウインドウのサイズを記憶します。
Position
  ウインドウの位置を記憶します。
Sticky
  全ワークスペースに貼り付けるかどうかを記憶します。
Decorations
  ウインドウの装飾を記憶します。
Shaded
  折りたたみの状態を記憶します。
Minimized
  最小化の状態を記憶します。
Maximized
  最大化の状態を記憶します。
Fullscreen
  フルスクリーンの状態を記憶します。
Transparency
  透明度の状態を記憶します。
Layer
  レイヤーの状態を記憶します。

appsファイルに保存された設定は、以下のような書式で書き込まれています。

[app] (name=totem) (class=Totem)
  [Layer]       {2}       # 最前面に表示
  [Deco]        {NORMAL}  # 標準の装飾
  [Close]       {yes}     # 閉じるときに設定を保存
[end]

appsファイルを直接編集する

この他、ウインドウのグループ化や装飾など、ウインドウメニューから設定できないものもあります。
これらは、~/.fluxbox/apps を直接編集して設定します。例えば、

# ウインドウの装飾は、次のように
[app] (name=xterm) (class=XTerm)
  [Deco]        {NONE}    # 一切装飾なし
[end]
# 他に NORMAL, BORDER, TINY, TOOL, TABがある

この設定でxtermを起動すると、


no decoration xterm


このように、何も飾りのないウインドウだけが表示されます。

また、グループ化は次のようにします。


# Gimpのドックとツールボックスをドッキング
[group]
  [app] (name=gimp.*) (role=gimp-dock)
  [app] (name=gimp.*) (role=gimp-toolbox)
[end]
# xfce4-terminalをグループ化
[group]
  [app] (name=xfce4-terminal) (class=Xfce4-terminal)
    [Deco]      {NORMAL}
[end]

グループ化されたxfce4-terminalを複数起動すると、


grouped terminal wondows


こんな感じで、一つのウインドウを四つのターミナルが共有しています。
もちろん、グループ化は違うアプリケーションどうしでも可能です。

詳しいことは、
Editing the apps file - Okumatsu_Hiroshi Website
をみてください。


ウインドウメニューを編集する

ウインドウメニューについては、前節でも少し触れました。この節ではウインドウメニューを使いやすいように編集 してみたいと思います。
ウインドウメニューは、~/.fluxbox/windowmenuという名前で保存されています。

筆者のウインドウメニューを参考にして説明します。

[begin]   # [begin] と [end] は必須
  [TakeToWorkspace 1] (Jump to 1) # ワークスペースNへ移動
  [TakeToWorkspace 2] (Jump to 2) # ウインドウも一緒にジャンプ
  [TakeToWorkspace 3] (Jump to 3)
  [TakeToWorkspace 4] (Jump to 4)
  [toggledecor] (deco)    # 装飾なしのウインドウにする
  [submenu] (RootMenu)
    [include] (~/.fluxbox/menu) # ルートメニューをまるごと取り込む
  [end]
  [submenu] (windowMenu)  # 通常のウインドウメニューをサブメニューにする
    [sendto]    # ワークスペースへ送る
    [shade]     # 折りたたむ
    [stick]     # 全ワークスペースに貼り付ける
    [maximize]  # 最大化
    [iconify]   # 最小化
    [raise]     # 前面に出す
    [lower]     # 背面に引っ込める
    [settitledialog]  # ウインドウのタイトル設定
    [layer]     # レイヤー設定
    [alpha]     # 透明度設定
  [end]
  [extramenus]    # 設定をappsファイルに保存するメニュー
  [nop] (* * * * * *)   # ( )内のテキストをメニューに表示するだけ
  [restart]       # fluxboxを再起動する
  [close]         # ウインドウを閉じる
[end]

このウインドウメニューのスクリーンショット

windowmenu with icon


ご覧のように、ウインドウメニューの中にルートメニューがまるごと取り込まれてます。まあ、ここまでは必要 ないかもしれませんが。
ちなみに、ウインドウメニューにアイコンを表示させるのは、ルートメニューと全く同じ方法でできます。以下のページを参考にしてください。
Editing the menu - Okumatsu_Hiroshi Website
メニューのアイコン設定 - Okumatsu_Hiroshi Website

ウインドウメニューの詳しいことは、以下を見てください。
Editing_the_windowmenu - Okumatsu_Hiroshi Website


スタイルを設定する

fluxboxの設定の中でも、一番身近というか - 扱う機会があるのが「スタイルの設定」でしょう。
初期状態でもメニューからスタイルを選ぶだけで変更することができますし、いくつかのサイトから気に入ったスタイルをダウンロード してインストールすることも(手順さえわかれば)そんなに難しいことではありません。

スタイルについては以下のページでも解説してますので、まず初めにそちらを読むことをおすすめします。

Style howtos - Okumatsu_Hiroshi Website

tenr.de - howto make style

Fluxbox Style


スタイルをダウンロードするにはまず以下の二つのサイトをチェックしてみてください。かなりたくさんのスタイル があります。

tenr.de/styles/

box-look.org


スタイルの設定方法については上に紹介したページでほとんど網羅していると思いますので、ここではいくつかに絞って 解説をしたいと思います。


フォントの設定について

フォントは theme.cfg の中で、以下の設定ができます。

*.font:                                     Sans-10:bold:italic
window.font:                                Sans-10:bold:italic
window.label.focus.font:                    Sans-10:bold:italic
window.label.unfocus.font:                  Sans-10:bold:italic
menu.title.font:                            Sans-10:bold:italic
menu.frame.font:                            Sans-10:bold:italic
toolbar.iconbar.focused.font:               Sans-10:bold:italic
toolbar.iconbar.unfocused.font:             Sans-10:bold:italic
toolbar.clock.font:                         Sans-10:bold:italic
toolbar.workspace.font:                     Sans-10:bold:italic

一行目の *.font: というのは、この一行だけで全てのフォントを同じフォントで表示 することができ、他のフォント設定を省略できます。
あなたの好みで、全て同じにしても、全て別々のフォントにしてもかまいません。


フォントの日本語表示について

google などで「fluxbox」で検索していると、「日本語が文字化け」というのによくぶつかります。
基本的に fluxbox はスタイルファイルで欧文フォントを指定してあると、日本語を表示しません(最近のおりこうなアプリケーション だったら、日本語の部分だけ標準の日本語フォントに置き換えてくれるんですが)。

文字化けする場合は、フォントの設定を「日本語のフォント」に変更するか、日本語が表示できるスタイルにする必要があります。
Ubuntu-9.10(日本語版) では、標準フォントが「VLゴシック」という日本語フォントになってますので、フォントの設定で Sans と指定すれば文字化けなく表示できます。Ubuntu-10.04で Takaoゴシック に変わりました。

{注! スタイルによっては、アルファベットの部分を欧文フォントで、日本語の部分だけを日本語フォントで表示したいものですが、 残念ながら fluxbox-1.1.1 では不可能です。.fonts.conf を編集して sans-serif に欧文フォントと日本語フォントを 指定しても fluxbox には無効でした。}
※ もしこの設定でうまくいったという人がいたら教えてほしいです。


フォント効果の設定の仕方

フォント効果について、詳しくは以下を参照してください。

Change font - フォント効果

シャドウ(影)の設定

以下のように設定します。

*.font.effect:                  shadow
*.font.shadow.x:                4
*.font.shadow.y:                4
*.font.shadow.color:            #000000

これを実際に表示すると、


shadow_effect.png


こんな感じに影が付きます。使い方によってはフォントを3D効果のようにもできますよ。

halo の設定

halo には、「後光」という意味があるそうで、その名のとおり、後光がさしているような効果が出ます。

*.font.effect:        halo
*.font.halo.color:    #0000FF

この様に設定すると、


halo_effect.png

こんな風にフォントの輪郭が装飾されます。カッコイイ。


ちなみに、特定のフォントだけに効果を与えることもできます。以下のように。

menu.*.font.effect:         shadow
menu.*.font.shadow.x:       4
menu.*.font.shadow.y:       4
menu.*.font.shadow.color:   #000000

この設定は、メニューのタイトルとフレームだけに影の効果を与えます。

また、特定のフォントの効果だけを無効にすることもできます。

window.label.unfocus.font.effect:      none
toolbar.iconbar.unfocused.font.effect: none


壁紙の設定の仕方

壁紙(バックグラウンド)の設定の仕方は二種類あります。ひとつは画像ファイルを読み込んでデスクトップに 表示する方法。もうひとつは、2つの色を使って壁紙を描く方法です。

画像ファイルを表示する方法

この方法はとても簡単。設定ファイルに以下のように記述します。

background:        centerd(中央)|aspect(画像の縦横比を保持)|fullscreen(拡大)|tiled(タイル状に並べる)
background.pixmap: /home/username/Pictures/hogehoge.jpg(画像ファイルへのパス)

2つの色で壁紙を描く方法

この方法で使えるのは以下のリソースです。

background:        gradient(グラデーション)|solid(無地)|mod(格子柄)|none(背景なし)

# gradient, mod または solid を選んだ場合の色の設定(solidは一色でいい)
background.color:   #000888  # 背面になる色
background.colorTo: #C0C0C0  # 前面になる色

# mod を選んだ場合の格子柄のサイズ
background.modX: 4      # 横方向のピクセルサイズ
background.modY: 4      # 縦方向のピクセルサイズ

mod(格子柄) を使った壁紙はシンプルで、最も fluxbox らしいものでしょう。
modの効果を使って壁紙を実際に表示するとこんな感じになります。
画像をクリックして等倍で見てください。

background_used_mod


テクスチャーパターンについて

ウインドウタイトルバー、ツールバー、メニューにはテクスチャーパターンを設定できます(テクスチャー ではなく画像ファイル(xpm)で表示する方法も可能)。

3D効果をもたらすテクスチャー

flat(平坦)

texture_flat.png


raised(浮き上がり効果)

texture_raised.png


sunken(くぼみ効果)

texture_sunken.png

色の効果をもたらすもの

gradient(グラデーション)- 2つの色で、solid(無地)以外のテクスチャーと組み合わせて使えます。

solid(無地)- 色は一色だけです。

グラデーションのバリエーション

flat & gradient

texture_gradient.png


flat & gradient & horizontal(横方向にグラデーション)

texture_gradient_horizontal.png


flat & gradient & vertical(縦方向にグラデーション)

texture_gradient_vertical.png


flat & gradient & diagonal(対角線にグラデーション)

texture_gradient_diagonal.png


flat & gradient & crossdiagonal(逆の角から対角線にグラデーション)

texture_gradient_crossdiagonal.png


flat & gradient & pipecross(パイプをクロスさせたようなグラデーション)

texture_gradient_pipecross.png


flat & gradient & elliptic(楕円状にグラデーション)

texture_gradient_elliptic.png


flat & gradient & rectangle(長方形にグラデーション)

texture_gradient_rectangle.png


flat & gradient & pyramid(ピラミッド状にグラデーション)

texture_gradient_pyramid.png


その他の効果

flat & solid & interlaced(織りまぜるという意味 - 2色の横縞模様の効果)

texture_interlaced.png


以上は、flat 効果を基本とした組み合わせを紹介しましたが、これらのグラデーションは raised, sunken など とも組み合わせることができます。interlaced との組み合わせも入れるとかなりのバリエーションですね。
自分なりの工夫でいろいろやってみるのも楽しいですよ。

テクスチャー設定の基本的な書き方

以上見てきたテクスチャーの実際の書き方ですが、以下に window の例をあげておきます。 toolbar, menu もこれに準じますので参考にしてください。

window.title.focus:               flat gradient horizontal
window.title.focus.color:         #C0C0C0
window.title.focus.colorTo:       #000000

window.label.focus: # 通常はtitleと同じ設定にする(parentRelativeとする方法もある)。
# parentRelative => 親要素に準じるという効果。
window.label.focus.color:     # parentRelativeにすると色を設定しなくてもいい。
window.label.focus.colorTo:

また、色の設定を個別にやるのが面倒、という場合、こんなやり方もできる。

*.color:             #000000
*.colorTo:           #C0C0C0
*.unfocus.color:     #dadada
*.unfocus.colorTo:   #808080
*.unfocused.color:   #dadada
*.unfocused.colorTo: #808080

この設定をファイルの最初の方に書いておけば、全ての色に適用になる。個別に設定が必要なものだけ 以降の行で書き足せばいいのです。


fluxbox の各パーツの名前について

これについては、

tenr.de

で図解入りの説明がありますが、真似してつくってみました。


fluxbox_parts.png



壁紙を設定する

スタイル設定で壁紙を指定する方法については「スタイルを設定する」で説明しましたので省きます。
その他の方法については、以下を参照してください。

バックグラウンド(壁紙)の設定 - Okumatsu_Hiroshi Website


ここでは、メニューやマウスを使って簡単に壁紙を変更する方法を紹介しましょう。


メニューに壁紙のエントリーを表示して選ぶ

メニューに壁紙のリストを表示するには以下のようにします。

[submenu] (WallPapers)
  [wallpapers] (~/Pictures)   => カッコ内に画像のあるディレクトリを指定する
[end]

これをメニューファイルに追加するだけです。簡単でしょう。
[wallpapers] タグに画像の入ったディレクトリを指定すると、中にあるファイルをリストにしてメニュー に表示します。リストから選ぶだけで壁紙を変更することが可能になります。


マウスで選択した画像ファイルを壁紙に設定するシェルスクリプト

以下のページを参考にしてスクリプトファイルをつくってください。

nautilusで壁紙を設定する - Okumatsu_Hiroshi Website


Rox-Filer の場合は、以下の場所にスクリプトを置きます。

~/.config/rox.sourceforge.net/SendTo/.image_jpeg  => pngファイルの場合は .image_png とする

/.image_jpeg というディレクトリがなければつくってください。
こうすると、jpeg/jpg ファイルを右クリックしたときにメニューにこのスクリプトが出現します。


Thunar は少しやり方が違います。
まず、thunar の編集メニューから「アクションの設定」をクリックして、設定ダイアログを表示します。


thunar_action_dialog.png

右上の +(プラス) ボタンをクリックして、アクションを設定します。


thunar_set_action.png

さらに、「登場する条件」のタブで「画像ファイル」を選んでおきます。これでOKです。

ちなみに、thunar には初めから「壁紙に設定」というメニューがありますが、fluxbox では無効です。


スタイルの壁紙設定そのものを変えてしまうスクリプト

ここまでの方法は、~/.fluxbox/lastwallpaper が書き変わって、次回の起動時にここから壁紙設定を読み込む のだが、今度は、スタイルのフォルダの中に壁紙用の画像ファイルを置き、スタイルの壁紙そのものを変更してしまう、というもの。
詳しくは以下を見ていただくとありがたいです。

fluxboxのスタイルに壁紙を設定するスクリプト - Okumatsu_Hiroshi Website

Rox-filerの右クリックメニューからfluxboxの壁紙設定を変更しちゃう

rox-filerのコンテキストメニューからスタイルの壁紙を変更する



デスクトップアイコンを設定する

このセクションは、実は書くかどうか悩んだんです。
私自身、デスクトップにアイコンを全く置いてませんし、fluxbox にもデスクトップアイコンは馴染まないと思っています。
でもまあ、必要とする人もいるかもしれませんので。

Ubuntu でも3Dデスクトップだの Compiz だのと、デスクトップの見栄えをカスタマイズするのが当たり前になってきましたが、 fluxbox 使いとしてもそんな「中身と関係ないこと」と、簡単にはかたづけられません。やっぱり外見は大事でしょう。
事実、fluxbox にも「スタイル」というものがありますし。

そこで、ここでは二つのアプリケーションだけを紹介しようと思います。


cario-dockについて

cario-dock は、Macのドックにそっくりなアプリケーションです。少々メモリを喰うのが 難点ですが、今時の高性能なパソコンなら問題ないでしょう。
Ubuntu の標準のリポジトリに含まれてますので「synaptic」で簡単にインストールできます。
デスクトップに表示するとこんな感じです。
(実はここまでの表示にするには、設定が結構大変なんですが、それは置いといて。)


cario_dock.png


マウスカーソルをアイコンの上に持っていくと、アイコンがアクションを起こすので、とっても楽しい。


cairo_dock_active.png


必要かどうかは別にして、デスクトップが楽しくなることは間違いありません。動作も安定しています。

cairo-dock を fluxbox の起動時にスタートさせるには、~/.fluxbox/startup を以下のように書き換えてください。

#!/bin/sh
# fluxbox startup-script:
#
xrdb ~/.Xresources &
sh ~/bin/touchpad.sh &

# 注意!!
# このファイルの書き方を間違えると、最悪fluxboxが起動しなくなる恐れもあります。
# その場合は、gnomeまたはXtermでログインしてスタートアップファイルを書き直してください。
# あくまで自己責任ですので、そこをお忘れなく。

exec /usr/bin/fluxbox &
fbpid=$!
sleep 20  # 20というのは秒数です。うまく表示できるように調節してください。
{
conky &
cairo-dock -o &
} &
wait $fbpid

#exec /usr/bin/fluxbox    =>  最後にあったこの行をコメントアウトする

cairo-dock 自身の設定に関しては、Google などで検索してみてください。たくさんの人がこれを 導入して試行錯誤してますので、役に立つ情報が見つかると思いますよ。


Idesk について

Idesk についてはまず以下を参照してください。

Idesk - fluxbox-wiki 日本語訳


Idesk は、デスクトップアイコンの機能を持たないウインドウマネジャーなどで良く使われているアプリ ケーションです。
スクリーンショットを見た方がわかりやすいと思うので、以下をどうぞ。


idesk.png


見たとおり、デスクトップにアイコンを置くだけです(もちろんクリックしてコマンドを実行できます)。cairo-dock のような派手な アクションは全くありませんが、その分使用メモリが少ない。5分の1ほどでしょうか。でも、ランチャーとしての機能は十分果たしますし、左クリックと右クリック で実行するコマンドを変えることもできちゃいます。これは便利。

わたしは、エディタのアイコンを左で SciTe、右で GVim が起動するようにしてみました。


Idesk はどちらかというと今の流れには乗らない、地味なアプリケーションです。 が、地味は地味なりに生き残っていくような気がします。

設定の方法でわからないところを補足するページも書きました、そちらも見てください。

ideskの設定のしかた - Okumatsu_Hiroshi Website


GTKテーマを設定する

fluxboxを初めて立ち上げ、何かのプログラム - 例えば Gedit を起動したとしましょう。
そうすると、アプリケーションの見た目はこんな風になっていると思います。


Raleigh_theme_gedit.png


fluxboxのスタイルは green_tea です。
ウインドウのタイトル、ボーダーなど、色がグリーンになっている部分以外、メニューバー、タブ、スクロールバー、ステータスバーなどは、RaeighというGTKのテーマによってこういう 外見になっています。GTKテーマはこれがデフォルトのようです。

でも、初めてのfluxboxがこれではがっかりですよね。
わたしも初めてfluxboxをみたときにはちょっと引いてしまいました。

自分の手でどこまでもカスタマイズしてください、ということなのでしょうが、デフォルトのGTKテーマをもっとイケてるものにしても誰も困らないと思うんですが。

まあ、この話は置いといて、どうやって設定するかです。


.gtkrcを用意する

ホームディレクトリに .gtkrc-2.0 というファイルをつくって以下の様に編集します。

include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"

このファイルを保存してもう一度Geditを起動してみます。


Clearlooks_theme_gedit.png


どうですか。
最初のダサいテーマに比べたら雲泥の差だと思います(もし最初のテーマが好きだという人がいたらごめんなさい)。

GTKテーマは、synaptic などからインストールできますが、その場合 /usr/share/themes の中にインストールされます。.gtkrc-2.0に設定 できるテーマはこのディレクトリか、ホームディレクトリの .themes にインストールされたものです。


GTKテーマを設定できるツール

Ubuntuで利用できるツールをいくつか紹介します。

- gtk-theme-switch2

- gtk-chtheme


どちらもGUIでGTKテーマをプレビューして設定することができます。初心者が使うならgtk-chthemeの方が使いやすい と思います(Synapticからインストールできます)。

gtk-chthemeの操作画面は以下の様になってます。


gtk-chtheme.png


インストールされているテーマがリストアップされますので、選んで適用OKをクリックするだけです。
リストを選ぶだけでテーマがプレビューされます。


GTKのその他の設定

ここまでで設定したのはGTKのテーマだけですが、その他にもアイコンのテーマ、フォント、アイコンサイズ、ツールバーなどの設定 もgtkrcで設定できます。

ところで、さっきgtk-chthemeでテーマを設定しましたが、このアプリは設定する度に.gtkrc-2.0を書き換えます。
その中身は以下の様になっています。

# -- THEME AUTO-WRITTEN DO NOT EDIT
include "/usr/share/themes/Human/gtk-2.0/gtkrc"

include "/home/hiroshi/.gtkrc.mine"

# -- THEME AUTO-WRITTEN DO NOT EDIT

.gtkrc.mineというのが出てきましたね。
これは、GTKの個人設定を書き込んでおくためのファイルです。

つまり、本来ならテーマ以外の様々な設定も .gtkrc-2.0 に一緒に書いておいてもいいんですが、gtk-chthemeがテーマを設定する時にこの .gtkrc-2.0を書き換えてしまうので、個人設定は別のファイルに書いておこう、ということ。

どんな風に書くかは、以下のサンプルをを参考にしてください。

# アイコンテーマを指定する
gtk-icon-theme-name="Tango"
# フォント名とサイズを指定する
gtk-font-name="Sans 10"
# GTKの各パーツのアイコンサイズ
gtk-icon-sizes="gtk-small-toolbar=18,18:gtk-large-toolbar=22,22:gtk-menu=18,18:gtk-button=18,18:gtk-dialog=48,48"
# ツールバーのスタイル
gtk-toolbar-style=GTK_TOOLBAR_ICONS
# ツールバーのアイコンサイズ
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR

.gtkrc.mineに書き込まれた設定は上書きされませんので、テーマを変更しても安心です。


GTKのテーマをインストールするには

インストールの方法は、Synapticパッケージマネジャーを使うやり方と、テーマサイトからダウンロードしてインストール するやり方があります。

前者はSynapticを起動して「gtk theme」で検索すればいろいろヒットしますので、クリックするだけで /usr/share/themes 以下に 自動的にインストールされます。

後者はダウンロードした圧縮ファイルを解凍して、~/.themes の中に置けばいいだけです。

テーマを見つけるにはこのサイトが一番いいでしょう。

http://gnome-look.org

こんなサイトもあります。

http://customize.org/gtk/themes


テーマを選ぶにあたっての注意をひとつ。
Synapticで選ぶ時はプレビューが見られないので、インストールしてみないと どんなテーマかわかりませんが、テーマサイトで選ぶときは、ウインドウのタイトルバーの色や形に惑わされずに、他の部品(ツールバー、メニューバー、 ボタン類、スクロールバーなど)の見た目で選ばないと失敗します。テーマのプレビューで一番目立つのはそういう部品ではなくて、ウインドウのタイトル バーやアイコン、壁紙だったりするもんですから(テーマをfluxboxで使うときは目立つ部分は全く使われません。残念!)。

お気に入りのテーマを手に入れて快適なfluxboxライフを送れるよう祈ります。


おまけ - GTKの設定に利用できる定数とか

設定で利用できる定数は以下の様なものがあります。

gtk-icon-sizes="gtk-small-toolbar=18,18:gtk-large-toolbar=22,22: ... "
# その他の変数
gtk-menu
gtk-button
gtk-dialog
gtk-dnd

gtk-toolbar-style=GTK_TOOLBAR_ICONS => アイコンのみ
# その他の定数
GTK_TOOLBAR_TEXT          => テキストのみ
GTK_TOOLBAR_BOTH          => アイコンの下にテキスト(デフォルト)
GTK_TOOLBAR_BOTH_HORIZ    => アイコンの横にテキスト

gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
      => この定数を指定するとgtk-icon-sizesで指定した大きさに表示する
GTK_ICON_SIZE_LARGE_TOOLBAR   => デフォルト
GTK_ICON_SIZE_MENU
GTK_ICON_SIZE_BUTTON
GTK_ICON_SIZE_DIALOG
GTK_ICON_SIZE_DND