fluxbox menu tips

                                                                Last update 2010/05/26
---------------------------------------------------------------------------------------
目次

    fluxbox メニュー
        日本語メニューの文字コード
        メニューを作り直 す (fluxbox-generate_menu)
        メニューをカスタマイズす る
            ~/.fluxbox/menuconfig
            ~/.fluxbox/usermenu
            ~/.fluxbox/addapps
           ~/.fluxbox/langset
       メニューにアイコンを表示 させる (icons)
       ユーザーメニューを作る (fbumenu_gen、~/.fluxbox/UserMenu)
           fbumenu_gen に 出来る事
           fbumenu_gen オプション
           fbumenu_gen 利用の下準備
          usermenu にアイコンを表示
           簡便な下準備 例
           既存の usermenu を活用する
           下準備が終われば
       全てのメニューを作る(~/fluxbox/UserMenu)
       全てのメニューを作り直す ( ~/fluxbox/'menu、UserMenu、 usersubmenu' )

        拡張アプリ ケーションメニュー

       メニュー作成 (fluxbox-generate_menu) クイックリファレンス
       ユーザーメニュー作 (fbumenu_gen) クイックリファレンス

                                                                     update: 2007/04/06
---------------------------------------------------------------------------------------
日本語メニューでの文字コード

従来の fluxbox メニューでの日本語の文字コードは、EUC-JP で書かれていましたが、1.0rc
(Vine での バージョンは fluxbox-1.0-0vl0.rc0.1)からの「UTF-8 対応強化」により、UTF-8
文字コードが要求されるようになりました。
※1.0rc2 では「Native Language Support」が唱われ、再び EUC-JP も通るようになったよう
ですが、サブメニュータイトルの一部に文字化けが発生する場合がある ようです。

従来よりのメニューを引き続き使用される場合は、以下の手順で文字コードを UTF-8 に変換し
てお使い下さい。

以下は、メニュー関連各ファイルに関する対策法です。

    ・~/.fluxbox/menu
        手書きされる場合は UTF-8 で書いて下さい。
        メニューは、[begin] (Fluxbox) から始まりますが、二行目には、
            [encoding] {UTF-8}
        を、又最終行の [end] の一行前に、
            [endencoding]
        を、必らず追加して下さい。
          
        再作成メニュー 、又は fluxbox-generate_menu コマンドで作られる場合は、以上の処
        理は自動的に行なわれます。

    ・~/.fluxbox/usermenu
        手書きされる場合は UTF-8 で書いて下さい。
        Userメ ニュー再作成、又は fbumenu_gen コマンドで作られる場合、~/.fluxbox/UserMenu
        ディレクトリ以下に含まれる日本語サブディレクトリ名は UTF-8 でリネームしておいて
        下さい。

    ・~/.fluxbox/usersubmenu
        Userメニュー再作成、又はfbumenu_gen コマンドにより取り込まれる usersubmenu
        はUTF-8 で書いて下さい。

既にお使いのメニュー関連ファイルを再利用される場合は、上記 [encoding] {UTF-8}
[endencoding]
を追加の上、
    エディタのコード変換機能を利用して UTF-8 で上書き保存して下さい。
    又は、nkf フィルタを利用して、
        nkf -w ファイル名 > ファイル名.tmp
        cp ファイル名.tmp ファイル名
        rm ファイル名.tmp
    等として、UTF-8 に変換できます。nkf の詳細は man(jman) nkf をご覧下さい。
※いずれの場合も ~/.fluxbox/UserMenu ディレクトリ以下の日本語サブディレクトリ名は、
UTF-8でリネームしておく必要が有ります。

---------------------------------------------------------------------------------------

fluxbox メニュー

fluxbox には、

  
  ルートメニュー(メインメニュー) 
:   ルートウィンドウで右クリック

  ワークスペースメニュー :   ルートウィンドウで中クリック

  ツールバーメニュー
:   ツールバー上で右クリック

  スリットメニュー :   スリット上で右クリック

  ウィンドウメニュー
:   ウィンドウタイトルバー上で右クリック

の、五種類のメニューが有ります。

ルートメニューは通常、fluxbox-generate_menuにより生成されます。
ワークスペースメニュー以下のメニューは、ルートメニューの中にも組み込 まれ
ています。これらは fluxbox 本体に組み込まれているメニューです。

version 0.9.13 からは、~/.fluxbox/init の設定により、ウィンドウメニューボタン
(MenuIcon)を追加する事が出来るようになりまし た。本ドキュメントではこの機能を
利用する状態をアイコンモード、そうでない状態をテキストモードと呼び、
    { Icon | Text }
等と表します。
アイコンモードでは、fluxbox の起動、メニューの再作成等が遅くなる場合が有りま
す。低スペックマシンでの使用の際は、テキストモードがお薦めです、

ルートメニューは
    ~/.fluxbox/menu
を直接編集する事でカスタマイズ出来ますが、fluxbox 標準のメニュー生成ツール、
    fluxbox-generate_menu
と、設定ファイル
    ~/.fluxbox/menuconfig
    ~/.fluxbox/usermenu
    ~/.fluxbox/addapps
等の利用により、より合理的にカスタマイズ可能です。

この方法による利点は、
 
ア ンインストールしたコマンドを自動的にメニューから取り除いてくれる。
新規インストールしたコマンドを自動的にメ ニューに追加してくれる。
の二点です。
※ 後 者で自動追加されるのは、通常 fluxbox-generate_menu 内にリストされているものに
限りますが、
~/.fluxbox/addapps の利用でこの制限は取り除かれます。

又、ルートメニューに組み込まれるユーザーメニューは、
    ~/.fluxbox/usermenu
を直接編集する事でカスタマイズ出来ますが、
    fbumenu_gen
の利用により、容易にカスタマイズ可能で す。

---------------------------------------------------------------------------------------

メニューを作り直す:(fluxbox-generate_menu)

fluxbox-generate_menu は、fluxbox メニュー生成用コマンドです。

このコマンドはコマンドラインから実行することが出来ます。
 
$ fluxbox-generate_menu -h
で、使い方が表示されます。
各種オプションの設定により、デフォルト設定を変更することが出来ます。

又、このコマンドは、
 
  ルートメニュー → Fluxboxメニュー → ツール → メニュー再作成 - Icon 
 
  ルートメニュー → Fluxboxメニュー → ツール → メニュー再作成 - Text 
                                                    (標準メニューの場合)
又は、(拡張メニューの場合)
 
 ルートメニュー → Fluxboxメニュー → ツール 拡張メニュー再作成 - Icon 
 
 ルートメニュー → Fluxboxメニュー → ツール 拡張 メニュー再作成 - Text 
                                                    (拡張メニューの場合)
をクリックする事によっても実行されます。
※(アイコンなし) の方が、より速くメニューが生成されます。

fluxbox-generate_menu は内部に、コマン ドリストを持っています。
fluxbox-generate_menu実行した時点で、コマンドリスト中の、「インストール済みコマン ド」
だけが、メニューに登録されます。
(※オプションスイッチ -x により拡張メニューを作る場合は、内部のコマン ドリストではなく、
/usr/applications 以下に登録されたアプリケーションのエントリーファイル(*.desktop)が参照
されます)


「インストール済みコマンド」なのにメニューに表示されないコマンドが有 る場合は、上記コマ
ンドリストに登録されていません。

このような場合は、以下に述べる
    ~/.fluxbox/menuconfig
    ~/.fluxbox/usermenu
    ~/.fluxbox/addapps
を利用して、メニューに追加することが出来ます。

ごくまれに、メニューに登録されているのに実行できない場 合が 有りますが、こ の場合、なんら
かの理由でコマンドがエラー終了している可能性が有ります。
該当コマンドをターミナルエミュレータ(xterm 等)上で実行してみれば、何かが分かるでしょう。

---------------------------------------------------------------------------------------

メニューをカスタマイズする:
    (
~/.fluxbox/ menuconfig, usermenu,addapps,langset)


fluxbox のメニューをカスタマイズするには、以下のような方法が有ります。
    a) menuconfig を編集する
        主として、メニュー再作成する時のデフォルト値を変更したい時の方法です。
    b) usermenu を編集する
        メニュー再作成する時、自動的に読み込まれるユーザー用メニューです。
        一から手書きで作るか、Vineツールの Userメニュー再作成により作ります。
    c) addapps を編集する
        メニュー再作成時に、サブメニューやメニュー項目を追加したい時の方法です。


a) ~/.fluxbox/menuconfig
このファイルは fluxbox-generate_menu 実行時に設定ファイルとして読みこまれます。
このファイルを編集することにより、オプションの既定値を変更できます。

※ ~/.fluxbox/menuconfig が無い場合は、一度「メニュー再作成」すれば自動的に作られます。

このファイルの使い方は、エディタ等で開いてみればおおよその事が分かる と思います。

例えばお気に入りのメーラーを変更したい場合は menuconfig の、
 
 # MY_MAILER=thunderbird
の頭のコメントマーク('#')を外して、
 
 MY_MAILER=thunderbird
と、すれば thunderbird が、お気に入りのメーラーになり、メニューのトップレベルに表示され
るようになります。
 
 MY_MAILER=evolution
とすれば、同様に evolution が、お気に入りのメーラーになります。

※指定したメーラーがインス トールされていない場合、又 MY_MAILER を指定しなかった場合は
fluxbox-generate_menu 内 のメーラーリ ストに登録されたコマンドを実 行パスから捜 しだし、
初に一 致したものが MY_MAILER として表示されま す

他の項目に付いてもアンコメントし、行を好みに合わせて編集すれば、「メ ニュ
ー再作成」実行後、メニューに反映されるようになります。


b) ~/.fluxbox/usermenu

fluxbox-generate_menu で生成するメニューに、個人用メニューを追加するファイルです。標準
では存在しませんので、追加メニューが必要な時は自分で作 ります。

usermenu は fluxbox-generate_menu 実行時 ~/.fluxbox/menu (=ルートメニュー) 内に自動的
に組み込まれます。

書式は ~/.fluxbox/menu と同様ですが、[begin] ではなく [submenu] から始めて下さい。
 
[submenu] (ユーザーメニュータイトル)
    [exec] (コマンドタイトル 1) {コマンドライン 1}
    [exec] (コマンドタイトル 2) {コマンドライン 2}
    [submenu] (サブメニュータイトル 1)
        [exec] (コマンドタイトル 3) {コマンドライン 3}
        [exec] (コマンドタイトル 4) {コマンドライン 4}
    [end]
[end]
上のような書式で書かれた ~/.fluxbox/usermenu は、fluxbox-generate_menu 実行後に、ルート
メニューの「Fluxbox 設定」の直前に組み込まれます。

※usermenu については、是非 ユー ザーメニューを作る の 項も合わせてご覧下さい。
又、次項の addappsを利用すれば、手書きの手間も軽減されるでしょう。


c) ~/.fluxbox/addapps

     
※お知らせ:
  従来、addapps ファイルの書式内では、ターミナルベースのアプリケーション用変数の
  サフィックスを 'CUI' としていましたが、 fluxbox-1.0rc3 より、これを '_CLI' に変
  更しました。
  この変更は、fluxbox-generate_menu 内部の関数名にあわせる為に行われました。
  なお、
メニュー再作成時 に、 各ユーザーの既存の ~/.fluxbox/addapps 内の該当変数名
  は、自動的に書き
換えられます(設定値は保護 されます)。
    ※元の addapps は、addapps.fbgmsave として保存されます。
    不要な場合は削除してください。


1. 良く使うアプリケーションをメニューのトップレベルに表示させたい。
2.インストールしているのにメニューに表示されないアプリケーションを表示させたい。
3.既存のサブメニュー以外のサブメニューが欲しい。

addapps はfluxbox-generate_menu にパッチをあてること無く、上のような要求を一般ユー
ザレベルで実現する為の設定ファイルです。

※~/.fluxbox/addapps が無い場合は、一度「メニュー再作成」すれば、自動的に作られます。

1.良く使うアプリケーションをメニューのトップレベルに表示させたい。
一般的に良く使われるターミナルエミュレータ、ブラウザ、メーラー、ファイラーは、ルート
メニューのトップレベルの先頭近くに表示されています。これら同様の位置に「自分が良く使
うアプリ」を表示させたいときは、addapps の空欄 を、こんな風に埋めて下さい。
 
 # top level applications
 TOPLEVELAPP="korganizer"
 TOPLEVELAPP_CLI="top"
これでメニュー再作成後、'korganizer'と'top'はトップレベルに表示されるようになります。
※ターミナル上で実行される'top'は、TOPLEVELAPP_CLI の方に登録します。
※TOPLEVELAPP、TOPLEVELAPP_CLI 各々に、スペースで区切って複数個のアプリを登録 でき
ます。


2.インストールしているのにメニューに表示されないアプリケーションを表示させたい。
※fluxbox-generate_menu は、内部の'コマン ドリスト'に登録されているアプリが、現在のシ
ステムにインストールされているかどうかを調べ、インストール済みな ら メニューに表示させ

という仕組みになっています。この為'コマン ドリスト'に登録されていないアプリは、標準
ではメ
ニューには表示されません。

例えば、メニューに表示されない ghex2、jvim、hexedit を 'エディタ' サブメニュー下に表示
させたい。こんな時は addapps の、
 
 EDITORS=""
 EDITORS_CLI=""
の部分を、以下のように書き換えて下さい。
登録したいアプリ名をスペースで区切って "" の中に書き加えます。
 
 EDITORS="ghex2"
 EDITORS_CLI="jvim hexedit"
※ターミナル上で実行される jvim、hexedit は、EDITORS_CLI の方に登録します。

これで 'メニュー再作成' 後、ghex2、jvim、 hexedit は
  
 ルートメニュー → エディタ  
以下に追加表示されるようになります。

※エントリーはルートメニューの 'ターミナル' から 'ゲーム' 迄の、各サブメニュー用と、 設定メ
ニューのウィンドウマネージャ用が用意されています。


3.既存のサブメニュー以外のサブメニューが欲しい。
"お気に入り"、"定型作業"、"いつものヤツ"、こんなサブメニューが 有れば、というような時は、
addapps に、
 
  SUBMENUNAME1="お気に入り"
 SUBMENUNAME2="定型作業"
 SUBMENUNAME3="いつものヤツ"
と設定して下さい。サブメニューは三個まで追加できます。
それぞれのサブメニューに、アイテム(アプリ名)を追加するには、
 
 SUBMENU(n)="jpilot tknamazu"
 SUBMENU(n)_CLI="jed top"
等として下さい。
※(n) は 1 から 3 までの、SUBMENUNAME に対応する数字です。アイテムは他のサブメニュー
下のものと重複しても、差し支え有りません。
※SUBMENU(n) が全て空欄のままの時は、SUBMENUNAME(n) はメニュー化されません。


addapps での設定は、'メニュー再作成' 時、fluxbox-generate_menu に取り込まれ、新し
く作られたメニューの中で、他のサブメニューやアプリケーション名と同等に扱われるよ
うになります。
※エントリ・キーの名前('=' より前の部分)は、そのまま fluxbox-generate_menu 内の変数名
として使われますので変更しないで下さい。又、addapps は
' メニュー再 作成' 時、
fluxbox-generate_menu (スクリプトファイル)自体の一部として組み込まれて実 行されますの
で、

    "" 内へのアプリ名の追加
    '#' ではじまるコメント行
以外の不要な書き込み はしないで下さい。
※ アプリケーションを特殊な場所にインストールされているような場合、PATH 環境変数を、
addapps の中で再定義する事は可能です。

デフォルトの $PATH は /bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:$HOME/bin です。
Tips:

addapps
は、アプリケーションにオプションを与える事は出来ません。
必要な場合は「アプリケーションをオプション付きで呼び出すスクリプト」を $HOME/bin
等、パスの通った所に置き、そのスクリプト名を addapps に書き加えて下さい。

下の例は、web ブラウザ seamonkey を -edit オプション付き(Composerモード)でメニ
ュー登録した状態です。
    $ cat ~/bin/seamonkey-ed                    (~/bin/seamonkey-ed の内容)
    #!/bin/sh
    exec seamonkey -edit

    $ cat ~/.fluxbox/addapps | grep EDITORS=    (addapps 内での記述)
    EDITORS="seamonkey-ed"

スクリプトは、上の例のような単純にコマンドを呼び出すだけのものでなくても構いませ
ん。
    $ cat ~/bin/apt_search
    #!/bin/sh
    read_pt(){
        read -p"検索パターン ? " ptrn
    }
    read_pt
    while [ -n "$ptrn" ] ; do
        apt-cache search "$ptrn" | less
        read_pt
    done

    $ cat ~/.fluxbox/addapps | grep 定型作業
    SUBMENUNAME3="定型作業"
    $ cat ~/.fluxbox/addapps | grep SUBMENU3_CLI=
    SUBMENU3_CLI="apt_search"
上は、「ターミナル上でパターン文字列を入力して、apt でインストール可能なパッケー
ジを検索、ページング表示するスクリプト」を '定型作業' サブメニューに登録した状態
です。

こんな感じで、ターミナル上で行なっている「いつもの作業」をスクリプト化し、メニュー
に登録してみて下さい。
必要ならスクリプトと同名のアイコンを ~/.fluxbox/iocn に置けば、メニューにアイコン
を表示させる
ことも出来ます。
addapp ファイルによる追加前
origmenu1.jpg
origmenu2.jpg

addapp ファイルによる追加後
extmenu1.jpg
extmenu2.jpg
# top level applications
TOPLEVELAPP="ksnapshot"
TOPLEVELAPP_CLI="top"

# editor
EDITORS="ghex2 khexedit"
EDITORS_CLI="ng"

SUBMENUNAME1 ="お気に入り"
SUBMENU1="gnome-system-monitor"
#
SUBMENUNAME2 ="定型作業"
SUBMENU2_CLI="apt_search histback"
※addapps によりアイテムを追加前後のメインメニューとエディタサブメニュー。白丸内が左の addapps(抜粋)の該当(オレンジ色太字)部分によ る追加箇所。

※この項 (addapps)は fluxbox-
1.0-0vl0.rc0.1 以降の Vine Linux 版の
fluxbox-generate_menu への独自拡張です。


d) ~/.fluxbox/langset

「英語メニューで良いから、"メニュー内インクリメンタルサーチ" を使いたい」場合に備えて、
日本語環境下で、英語メニューを生成できるように設定する為のファイルです。

※~/.fluxbox/langset が無い場合は、一度「メニュー再作成」すれば、自動的に作られます。

LANG 環境変数通りのメニューを生成したい場合は、手を加えないでください。
英語メニューを生成したい場合は、
    # GENERATE_ENGMENU=no
の部分を、
    GENERATE_ENGMENU=yes
に書き換えて、
  
 ルートメニュー → Fluxboxメニュー → ツール → メニュー再作成
を、実行してください。

なお、fluxbox 1.0rc3 以降では、キーコマンド 'CustomMenu' が追加され、マウスボタンも割り
付け可能になり、複数のルートメニューが利用可能 になりましたので、工夫次第で、日本語メニ
ュー/英語メニューを交互に使う事も可能です。

例えば、
    GENERATE_ENGMENU=yes で英語メニューを作成後、~/.fluxbox/menu を menu_C とリネーム
    GENERATE_ENGMENU=no に書き換えて、日本語メニューを作成
した上で、 ~/.fluxbox/ keys ファイルに、
    OnDesktop Mouse3 :rootMenu
    OnDesktop Control Mouse3 :CustomMenu ~/.fluxbox/menu_C
と書いておけば、
    デスクトップで右クリック → 日本語メニュー
    デスクトップで Ctrl+右クリック → 英語メニュー
と、使い分けることもできます(勿論、keys の設定を逆にすることも可能です)。

※日本語環境下では、上の設定で英語メニューを 作った場合でも、英語表記されるのは、
fluxbox-generare_menu が生成する部分のみです。
fluxbox 内部メニュー([Fluxboxの設定]-[設
定] や、ワークスペース/ウィンドウメニュー)、
及び usermenu の日本語で記述された部分までが英語化されるわけでは有りません。

※上記設定で生成されるのは、正確には英語メニューではなく、C(POSIX)ロケール下でのデフォ
ルトメニューです。

※この項 (lanset)は fluxbox-1.0-0vl0.rc3.1以降の Vine Linux 版のfluxbox-generate_menu
への独自拡張です。


------------------------------------------------------------------------------------

メニュー にアイコンを表示させる:(~/.fluxbox/icons)

ルートメニューには、アプリケーション毎のアイコンを表示させる事が出来 ます(0.9.13 以降)
メニューアイコンに関しては、以下のようなオプションが有ります。

    -i  アイコン検索の他のパス
        例、"/usr/kde/3.3/share/icons/crystalsvg/16x16/*"
    -is アイコン広域検索 (余分な時間を掛ける価値有り)
    -in アイコン検索をスキップ

これらのオプションを指定しない場合は、fluxbox- generate_menu の標準アイコン検索パスで検
索されたアイコンのみが、メニューに表示されます。

メニューより、
  
 ルートメニュー → Fluxboxメニュー → ツール → メニュー再作成 - Icon
を実行した場合 -is オプション付でメニューが作成されます。
  
 ルートメニュー → Fluxboxメニュー → ツール → メニュー再作成 - Text
を実行した場合 -in オプション付でメニューが作成されます。
後者は前者に較べ、高速にメニューを生成することが出来ます。

「アイコンを表示さ せるオプションを選んだが表示されないアプリが有 る」
「表示 されるアイコ ンが気に入らない」
このような時は、~/.fluxbox/icons/に お気に入りのアイコン(実体、又はシンボリックリンク)
を配置すれば、優先的に認識されます。

※ ~/.fluxbox/icons/ 内のアイコン名は commandname.ext (例:rox.png、firefox.xpm など)
として下さい。


---------------------------------------------------------------------------------------

ユーザーメニューを作る:
    (fbumenu_gen、~/.fluxbox/UserMenu/)


ユーザーメニューを作るには'メ ニューをカスタマイズする'で触れたよう に、
    ~/.fluxbox/usermenu

をエディタ等で手書きするのが一般的ですが、fbumenu_gen を使った方法を紹介します。
fbumenu_genは fluxbox-0.9.13-0vl3 以降のVine Linux パッケージのみに添付されます。
コマンドライン、又はルートメニューから実行可能です。


fbumenu_gen に 出来る事
 
~/.fluxbox/UserMenu/ 以下に配置した、
    サブディレクトリ
    実行可能ファイル
    実行可能ファイルへのリンク
等のツリー構造(ディレクトリ構成)を参照して usermenu を自動生成します。

例えば ~/.fluxbox/UserMenu/MyScript/script1 が有れば、
    ユーザーメニュー - MyScript - script1
というメニュー項目を作ります。この script1 は、「全メニュー再作成」実行後、ルートメニュ
ーから実行できます。

※各項目はメニューから絶対パスで呼び出されますので、script1 実体にも symlink にも、パスが通っている

必要は有りません。


同様にして、fluxbox-generate_menuでは認識されない実行ファイル等への symlink を
    ~/.fluxbox/UserMenu/
以下に作って置けば、fbumenu_genはそれらを usermenu に自動的に組み込みます。

 
※注意!

 ~/.fluxbox/UserMenu/ 内に置いたリンク元ディレクトリの中に、
    「自 分自身」や「直系の親ディレクトリ」へのリンク
が含ま れないように注意して下さい。

メニューを構成する際、無限にリンクを辿り続けてしまい、ディスクスペースを食い
尽くすまで終了できなくなってしまいます。
間違ってこのような操作をしている事に気づいた時は fbumenu_gen プロセスを手動で
killし、~/.fluxbox/usermenu を削除して下さい。

例 外的に、 ~/.fluxbox/UserMenu/ とその「直系の親ディレクトリ = ~/.fluxbox/
と ~/ に関しては、無視しますが、その他に関しては チェックしていませんので
御注意下さい


 
------------------------------------------------------ for rox user --------------------------------------------------
rox-filer がインストールされている場合、上に加えて、rox用 Wrapperアプリケーション
(AppDir)や通常ファイルを、~/.fluxbox/UserMenu/ に配置(コピー、又は symlink)すれば、

AppDir はメニューから直に実行可能。
通常ファイルは rox で設定された "対応アプリ"によって開く。
ようなメニューを生成す る事が出来ます。
通常ファイルの場合は、 例えば、~/DOCS/index.html への symlink を ~/.fluxbox/UserMenu/
直下に置けば、

"ユー ザーメニュー" -- "index.html" --- "Open index.html"
                                    |_ "Open ~/DOCS
というメニュー項目を生 成し、"Open index.html" をクリックすれば、~/DOCS/index.html を ブ
ラウザや HTML エディタで開き、"Open ~/DOCS をクリックすれば、rox のファイラーウィンドウ
で ~/DOCS ディレクトリ(リンク元)を開きます。

同様の手順で、mpeg ファイルを gmplayerで、オープンオフィス表計算データを oocalc で開く
メニューも生成できます。

※この機能は、"対応アプリ" が設定されている形式のファイルを、直接該当アプリに実行させる、
という rox の機能によって実現しています。
rox-filer がインストールされている場合 で なけ
ればこの機能を利用できないの
は、この為です。
手始めに
~/.fluxbox/UserMenu/ に、/usr/apps や ~/Apps (rox-wrappers-plus インストール
済みの場合) への symlink を作ってみて下さい。
----------------------------------------------------------------------------------------------------------------------

fbumenu_genオプション

以下は fbumenu_gen -h で表示される ヘ ルプメッセージです。

usage fbumenu_gen {[-o out_file] [-t|ni|h]}
Options:
    -o out_file : output to out_file.(default:usermenu)
    -i submenu_file : include submenu_file.(default:usersubmenu)
    -t  : output to stdout.
    -b  : make outfile.backup
    -ni : generate without icon.
    -h  : display this message.

example:
    fbumenu_gen -ni
        アイコンなし menu を~/.fluxbox/usermenu に
        書き出します
    fbumenu_gen
        アイコン付き menu を~/.fluxbox/usermenu に
        書き出します (デフォルト)
-----------------------------------------------------------------
詳細説明:
-o out_file :set output file
    出力ファイルを out_file に指定します
    (デフォルトでは ~/.fluxbox/usermenu です)
-i submenu_file : set include submenu_file.(default:usersubmenu)
    submenu_file を usermenu のサブメニューとして取り込みます。
    デフォルトでは usersubmenu という名前のファイルは無条件に取り込まれ
    ます。
-t :test mode
    ファイルではなく標準出力に書き出します。
    (デバッグ用)
    エラーメッセージ(通常は無害です)、標準出力メッセージを適宜リダイ
    レクトして、利用して下さい。
-T "title name"  : set usermenu Title.
    usermenu のタイトル名を指定します。
    タイトル名が空白を含む時はダブルクォーテーション(") で括って下さい。
    デフォルトのタイトルは "ユーザーメニュー" です。
-b :make backup
    明示的に出力ファイルのバックアップを作ります。
    通常 fbumenu_gen は outfile.timestamp 形式でバックアップを作ります。
    この outfile.timestamp は同日内に二回以上 fbumenu_gen を実行した時
    上書きされます。-b オプションは上書きに対する「緩い」安全策です。
    次に -b オプション付きで実行すれば、当然このバックアップも上書きさ
    れます。
    絶対に上書きされたくない usermenu ファイルは別ディレクトリ等へコピー
    しておいて下さい。
    不要なバックアップファイルは適宜削除して下さい。
-ni :no icon mode
    fbumenu_gen はアイコンファイル(後述)が存在する時、デフォルトで
    アイコン付き usermenu を作ります。
    -ni オプションはこれを抑止し、テキストのみの usermenu を作ります。
-h  :help
    簡単な使い方を表示します。


fbumenu_gen を利用 するには、以下の下準備が必要で す

    1.貴方が既に作られている ~/.fluxbox/usermenu が有る場合は必らずバックアップを作って
      置いて下さい。
     
$ cp ~/.fluxbox/usermenu ~/.fluxbox/usermenu.my_backup
       (※ 必須です。この項に付いては次項 2.もご覧下さい)

    2.自作 usermenu を丸ごと生かしたい場合 usersubmenu にリネーム又はコピーして下さい。
      usersubmenu という名のファイルは、暗黙で usermenu の先頭に取り込まれます。
        (※ 必須では有りませんが、資産を有効利用できます)

    3.~/.fluxbox に UserMenu というディレクトリを作っておいて下さい。
     
$ mkdir ~/.fluxbox/UserMenucp
        ~/.fluxbox/UserMenu が無い時 fbumenu_gen は、エラーメッセージをデスクトップに表
        示して、中断します。

       ※fluxbox -1.0.0以降では /usr/share/fluxbox にサンプルディレクトリ 'UserMenu'を置
       きました。コピーして試してください。なお、新規ユーザーの場合は、~/.fluxbox/startup
       により、~/.fluxbox/以下に自動的にコピーされます。(
~/.fluxbox/startup を一旦削除、
       又はリネーム後、再ログインした場合も、新規ユーザーの場合同様です)

    4.メニューに登録したい実行可能ファイルへの symlink を ~/.fluxbox/UserMenu 以下に作
      って下さい。symlink ではなく実体のコピーでも構いませんが、相応のディスクスペース
      を消費します。
     
$ ln -s ~/bin/my_script ~/.fluxbox/UserMenu/my_script
     ~/.fluxbox/UserMenu 以下に実行可能なアイテムが無い時、fbumenu_gen は有効な
      usermenu を書き出せません。
      実害は有りませんが、既存の usermenu は上書きされます。

       ※fluxbox -1.0.0以降では /usr/share/fluxbox/
UserMenu にサンプルが置いてあります。

    5.必要に応じて ~/.fluxbox/UserMenu 以下にサブディレクトリでカテゴリ分けを行って下さい。
      サブディレクトリはそのままサブメニューとして反映されます。
        (※ 必須では有りませんが、メニューが見やすくなります)

以下は、 usermenu にアイコンを表示したい場合の下準備です(必須では有りません)。

    1.~/.fluxbox/UserMenu 以下のサブディレクトリ自体に、メニューでアイコン付表示をした
      い場合は、サブ ディレクトリ直下に、'.DirIcon.png'(ドットファイルです) という名の
      アイコン用画像ファイル(又はそれへ symlink)を置いて下さい。

      ※ rox-filer インストール済みの場合、'.DirIcon' が既に有る時は、自動的に'.DirIcon.png'が作られます。

    2.~/.fluxbox/UserMenu に置いた実行可能ファイル、又は実行可能ファイルへの symlink を
      メニューでアイコン付表示をしたい場合、同一ディレクトリ内に'実行可能ファイル名.png'
      という名のアイコン用画像ファイル(又はそれへ symlink)を置いて下さい。
      (例:~/.fluxbox/UserMenu/BIN/my_script -> ~/.fluxbox/UserMenu/BIN/my_script.png)

    3.'メニューにアイコンを表示させる'で述べた~/.fluxbox/icons/~/.fluxbox/UserMenu
      以下の実行可能ファイルと同名の'実行可能ファイル名.png'(又は symlink) が有る場合、
      該当実行可能ファイルのアイコンとして自動認識されます。
      アイコンを隠しファイルにしたい場合は、'.実行可能ファイル名.png' という名前にして
      下さい。
      (例:~/.fluxbox/UserMenu/BIN/my_script -> ~/.fluxbox/icons/.my_script.png)

      ※symlink のリンク元ディレクトリがシステム領域である時は root 権限が無い場合、
      1、2 の方法ではアイコンファイルは作れませんので、3 の方法でアイコン用画像を用
      意して下さい


以下は、 簡便な 下準備の一例 です。

       ※fluxbox -1.0.0以降では /usr/share/fluxbox/UserMenu を
~/.fluxbox/ 以下に コピーするだけで、
       とりあえず準備完了です。手軽に済ませたい場合は、この方法を試してください。
              $ cp -a
/usr/share/fluxbox/UserMenu ~/.fluxbox/ を実行、
              又はファラー等でコピーしてください。

       前々節の 3 で述べたように、新規ユーザーの場合は、~/.fluxbox/以下に自動的にコピーされるので、下
       準備不要です。(
~/.fluxbox/startup を一旦削除、又はリネーム後、再ログインした場合も、新規ユーザ
       ーの場合同様です)

    1.~/.fluxbox/UserMenu 以下に、~/bin、~/Project や ~/Apps (※ rox ユーザーの場合)
      等の「実行可能ファイルを置いてあるディレクトリ」への symlink を置いて下さい。

      ※fbumenu_gen はサブディレクトリと実行可能ファイルのみ を認識します。

      ※「気軽に実行してはいけない」実行可能ファイルが、リンク先に有る 場合などは、
      usermenu 生成後その部分を編集する等の注意が必要です。


      ※前述 通り rox ユーザなら、オープンオフィスのデータを格納した場所等のデータ用ディ
      レクトリへの symlinkも利用出来ます。 又、下準備作業もファイラー画面間のドラッグ&
      ドロップのみで、殆ど事足りるでしょう。


    2.必要ならアイコン表示したい場合の 方法でアイコン用画像を設定して下さい。

以下は、 既存の usermenu を活用する場合の下準備です。

あなたが既に使われている usermenu が有る場合、usersubmenu という名前にリネームすれば、
fbumenu_gen 実行時に、usermenu の先頭部に組み込まれます。(別の名前にしたい時は-i オ
プションで、指定します)

この時 usersubmenu の内容が、
 
[submenu] (マイメニュー)
    [submenu] (設定ファイル編集) {Choose a edit file}
        [exec] (初期設定) {emacs ~/.fluxbox/init}
        [exec] (タブグループ) {emacs ~/.fluxbox/groups}
        [exec] (ショートカットキー) {emacs ~/.fluxbox/keys}
        [exec] (サブメニュー) {emacs ~/.fluxbox/usersubmenu}
        [exec] (現在のスタイル) { \
            style=`cat ~/.fluxbox/init | grep -i stylefile | cut -d : -f 2`; \
            if [ -d $style ] ; then style=$style/theme.cfg; fi; \
            emacs $style}
    [end]

    [submenu] (スタイル) {Waimea Styles}
        [stylesdir] (~/.waimea/styles)
    [end]
    [submenu] (メニュー再作成) {Chose a glade}
        [exec] (超豪華メニュー) {fbumenu_gen -th && fluxbox-generate_menu -ds -is -gkB}
    [end]
[end]
だとすれば、ユーザーメニューのトップレベルには、「マイメ ニュー」のみ が現われ、
 
[submenu] (設定ファイル編集) {Choose a edit file}
    [exec] (初期設定) {emacs ~/.fluxbox/init}
    [exec] (タブグループ) {emacs ~/.fluxbox/groups}
    [exec] (ショートカットキー) {emacs ~/.fluxbox/keys}
    [exec] (サブメニュー) {emacs ~/.fluxbox/usersubmenu}
    [exec] (現在のスタイル) { \
        style=`cat ~/.fluxbox/init | grep -i stylefile | cut -d : -f 2`; \
        if [ -d $style ] ; then style=$style/theme.cfg; fi; \
        emacs $style}
[end]
[submenu] (他のスタイル) {Waimea Styles}
    [stylesdir] (~/.waimea/styles)
[end]
[submenu] (特別メニュー再作成) {Chose a glade}
    [exec] (超豪華メニュー) {fbumenu_gen -th && fluxbox-generate_menu -ds -is -gkB}   
[end]
[separator]
なら、ユーザーメニューのトップレベルには、「設定ファイル編集」、 「他のスタイル」、「
別メニュー再作成」が現われます。
※ [separator] は区切り線です

違いはご覧の通り、全体を括る [submenu] 〜 [end] ブロックが有るか、無いか、という点に有
ります。お好みにより使い分けて下さい。

以上の下準備が終われば、
   
$ fbumenu_gen
を実行すると、~/.fluxbox/usermenu が生成されます。
そのままでも fluxbox-generate_menu で認識可能ですが、必要ならエディタ等で編集して下さい。

※この usermenu は、次回「メニュー再作成(= fluxbox-generate_menu)」を実行した時、初めて
ルートメニューに取り込まれます。


fbumenu_genは、ルートメニューの

 ルートメニュー → Fluxboxメニュー → Vineツール → Userメニュー再作成 - Icon

 ルートメニュー → Fluxboxメニュー → Vineツール → Userメニュー再作成 - Text
からも実行可能です。又、

 ルートメニュー → Fluxboxメニュー → Vineツール → 全メニュー再作成 - Icon

 ルートメニュー → Fluxboxメニュー → Vineツール → 全メニュー再作成 - Text
を実行すれば、usermenu 作成に続き、ルートメニューも更新されます。

    ※UserMenu以下のディレクトリ構成が複雑でリンクされているファイル数が多い時、相等の時間が必要に
    なる場合が有ります。


以下は fbumenu_genにより自動生成された usermenu を組み込んだルートメニューのスクリーン
ショットです。
※1、2 図共、上記下準備の手順に従い、それなりの準備をしていますが、生成された usermenu
には手を加えていません。

1.fbumenu_gen による usermenu を組み込んだルートメニュー
usermenu1.jpg
(Text(アイコン無し)モード。セ パレータより下は ~/.fluxbox/UsrMenu より自動生成)

2.fbumenu_gen により自動生成された rox 使用環境でのルートメニュー
usermenu2.jpg
(アイコンモード。セパレータより上は前述の usersubmenu を利用、下は ~/.fluxbox/UsrMenu 以下を参照して、
 fbumenu_gen により自動生成)

---------------------------------------------------------------------------------------

全 てのメニューを作り直す:
  (~/.fluxbox/Menu、UserMenu、usersubmenu)


'ユーザーメニューを作る'の手順で~/.fluxbox/UserMenuディ レクトリ の準備が完了した状態に
有る時、
 
 ルートメニュー → Fluxboxメニュー → Vineツール → 全 メニュー再作成 - Icon 
 
 ルートメニュー → Fluxboxメニュー → Vineツール → 全 メニュー再作成 - Text 
を実行する事で、~/.fluxbox/usermenu 作成、~/.fluxbox/menu 作成、の手順を順次実行し、新
しいメニューを即使えるようになります。
実際には、
Icon:を選んだ時  fbumenu_gen && fluxbox-generate_menu -is
Text:を選んだ時
 fbumenu_gen -ni && fluxbox-generate_menu -i
が実行されます。

この時、既に自作、手書きの usermenu が有る際は、usersubmenu という名前にリネームして
おけば、新規の usermenu に取り込まれ、続いて menu の中にも取り込まれます。

※ ア イコンモード、且つ ~/.fluxbox/UserMenu/ 以下の構成が重い場合、相応の時間を要します。

'ユーザーメニューを作 る'で述べていますが、「全メニュー再作成」でも、fbumenu_gen を
実行する為、
  ~/.fluxbox/UserMenu を自分で作って置く。
    例: $ mkdir ~/.fluxbox/UserMenu
  ~/.fluxbox/UserMenu に一つ以上の、実行ファイルへのリンクを作って置く。
    例: $ ln -s /usr/bin/mozilla ~/.fluxbox/UserMenu/Brouser
           
事が必要です。

※ 上の例を実行した後「全自動メニュー再作成」を実行すれば、
    ルートメニュー - ユーザーメニュー - Brouser
というメニュー項 目 が作られ、実行すると mozilla が立ち上がります。
ルートメニューの " ネットワーク"以下に既に「mozilla」は存在する でしょうから、この例は実用
的では有りませんが、「全メニュー再作成」の機能を確認をする事は出来る でしょう。


---------------------------------------------------------------------------------------
拡張メニュー再作成


従来のアプリケーションメニューの代わりに、拡張アプリケーションメニューの生成を選択出来
ます。アップグレード直後にメニューを再作成すると、
  
 ルートメニュー → Fluxboxメニュー → ツール → 拡張メニュー再作成
という項目が追加され、この項目の実行により、拡張アプリケーションメニューが生成されます。
(Text/Icon が選択出来ます)

拡張アプリケーションメニューは、fluxbox-generate_menu が用意したアプリケーション・リスト
ではなく、/usr/share/applications に置かれている、インストールされている各アプリケーショ
ンが用意した「デスクトップ・エントリ」を参照して生成されます。
この為、拡張アプリケーションメニューでは、GNOME などのメニューと同等の項目を生成します
が、生成に多少時間が掛かります(P4 3GHz で 1分前後程度)。
メニュー生成が完了すると、"Generate menu completed!" というダイアログが表示されます。
(このダイアログは 3秒放置で閉じられます)

---------------------------------------------------------------------------------------
メニュー作成クイックリファレンス

fluxbox ルートメニューからの実行
    fluxbox 標準メニューの場合:
 
 ルートメニュー → Fluxboxメニュー → ツール メニュー再作成 - Icon 
 
 ルートメニュー → Fluxboxメニュー → ツール メニュー再作成 - Text 

    fluxbox 拡張メニューの場合:
 
 ルートメニュー → Fluxboxメニュー → ツール 拡張メニュー再作成 - Icon 
 
 ルートメニュー → Fluxboxメニュー → ツール 拡張 メニュー再作成 - Text 


コマンドラインからの実行
   ヘルプ表示
    
$ fluxbox-generate_menu -h                 
   使い方

$ fluxbox-generate_menu
   シンプルな使い方

$ fluxbox-generate_menu -in
   贅沢な使い方

$ fluxbox-generate_menu -kgB -ds -is

   拡張メニューを作る


$ fluxbox-generate_menu -x

主なオプション
    -k  kde メニュー生成
    -g  gnome メニュー生成
    -B  背景 メニュー生成
    -x  拡張メニューを生成

    -d  *.desktop ファイル再帰検索の他のパス
    -ds *.desktop ファイル広域検索 (高負荷)
    -i  アイコン検索の他のパス
        例、"/usr/kde/3.3/share/icons/crystalsvg/16x16/*"
    -is アイコン広域検索 (余分な時間を掛ける価値有り)
    -in アイコン検索をスキップ

----------------------------------------------------------------

ユー ザーメニュー作成クイックリファレンス

fluxbox ルートメニューからの実行
 
 ルートメニュー → Fluxboxメニュー → Vineツール Userメニュー再作成 - Icon 
 
 ルートメニュー → Fluxboxメニュー → Vineツール Userメニュー再作成 - Text 

コマンドラインからの実行
   ヘルプ表示
 
$ fbumenu_gen -h
   使い方

$ fbumenu_gen
   シンプルな使い方(テキストのみの usermenu を作る)

$ fbumenu_gen -ni

主なオプション
    -i in_file : include in_file to usermenu top.
        既存の usermenu 形式のファイル in_file を usermenu に組み込みます。
        ※fbumenu_gen では生成できない項目を付け加えたい時は、手書きしたメニューファイルを
        このオプションで指定すれば、usermenu の先頭に取り込みます。
        デフォルトでは、usersubmenu という名のファイルが有れば、無条件(オプション無し)で取
        り込みます。
    -ni : generate without icon.
        メニューにアイコンを付け加えません。

fbumenu_gen 利用の為の下準備
    1.~/.fluxbox/UserMenu ディレクトリを作る。
    2.~/.fluxbox/UserMenu 以下に、メ ニューに加えたいディレクトリ、実行可能ファイル等へのリ
      ンクを張る。


inserted by FC2 system