AppDirGen

    Application directory Generator について

_________________________  update 2008/07/22

AppDirGen は、様々なアプリケーションのデスクトップエントリファイルを読
み込み、ROX 環境下で実行可能なアプリケーションディレクトリ AppDir を生
成するユーティリティプログラムです。

生成された AppDir は、ROX 環境下で、
    デスクトップ(ピンボード)やパネル上の
アイコン
    ファイラー画面上のアイテム
として、又、「対応アプリの設定」や「アプリに送る」、「メニューをカス
タマイズ」などの、
    設定用アイテム
として、利用/実行する事ができます。

GNOME/KDE 等の、統合デスクトップ環境が必要でない場合でも、デスクスペー
スに余裕があれば、それらの関連アプリケーションをインストールして置く事
をおすすめします。
AppDirGen の使用により、それらのアプリケーションのデスクトップエントリ
ファイル は rox + 任意のウインドウマネージャ環境下で、有効に利用する事
が出来るようになります。
各アプリケーションへのアクセスが容易になるだけでなく、(統合デスクトッ
プ環境以外の)ウインドウマネージャ環境下では、ターミナルなどから起動す
るしかアクセスの方法が無い、システムの設定用アプリケーション等にも、容
易に GUI でアクセス出来るようになります。


  使い方
    準備
    運用
    更 新の通知(rox コマンドの拡張)
    活用
    注意
  デスクトップエントリファイルについて
  AppDir について
  アイコンのカスタマイズ
  ライセンス

  番外
  Vine Linux - Fluxbox での AppDir の活用

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 使い方:
    準備:
        依存:
        AppDirGen の実行には、
            rox (rox-filer)
            bash
            diff (diffutils)
            patch
            nkf
            tree
            expr (coreutils)
        などのコマンドを必要とします。
        このドキュメントをご覧の場合は、多分それらは既にインストール済
        みと思われますが、万一まだの場合は、先にそれらを含むパッケージ
        をインストールして置いててください。

        ※パッケージ管理システムに基づくパッケージとしてインストールさ
        れている場合は、これらへの依存は既に解決されているでしょう。

        実行権限:
        AppDirGen の一部機能(更新の通知)は、実行の際に root 権限を必要
        とします。

        又、生成されたAppDir の一部に、root 権限を必要とする場合に、
        gksu コマンドが要求される場合が有ります。必要に応じて gksu を
        含むパッケージを別途インストールして置いてください。
       
    運用:
        実行:
        $HOME/Apps にインストールされた AppDirGen をクリックすると、タ
        ーミナルウィンドウが開きます。指示にしたがって入力してください。

        更新が有る場合:
        新しいデスクトップエントリファイルが見付かった場合は、変更を適
        用するかどうかを問い合わせて来ます。

          'y'[Enter] を押せば:
            該当する AppDir の生成が始まりますので、その状態でしばらく
            待ってください。
            ディスクアクセスが終了し AppDir の生成が完了すると、
            $HOME/Apps/Applications ウィンドウが表示されます。

          'n'[Enter] を押せば:
            変更の適用は保留されます。

        更新が無い場合:
        新しいデスクトップエントリファイルが見付からなかった場合は、更
        新が無い旨が報告されますので、[Enter] を押してウィンドウを閉じ
        てください。この場合 $HOME/Apps/Applications は変更されません。

        強制更新:
        $HOME/Apps/Applications の一部又は全部を損なった等の理由で強制
        的に更新したい場合は、
            1.AppDirGen 右クリック →「更新を強行する」
            2.$HOME/Apps/Applications を削除 → AppDirGen をクリッ
        の、どちらかを実行してください。

    更新の通知(rox コマンドの拡張):
        システムの更新やアプリケーションのインストール/アンインストー
        ルにより、デスクトップエントリファイルが追加/削除されることが
        有ります。
        AppDirGen は このような変更をチェックして、AppDirGen を自動実
        行するように ROX-Filer を拡張することが出来ます。

        ROX-Filer を拡張し、更新通知を有効にするには、
            AppDirGen  右クリック →「更新通知を有効にする」
        拡張した ROX-Filer を元に戻すには、
            AppDirGen  右クリック →「更新通知を無効にする」
        を実行してください。

        ※いずれの場合も、実行には root 権限が必要です。

        ※ROX-Filer が拡張されると、デスクトップエントリファイルが追加
        /削除された日に AppDirGen が実行されなかった時、その翌日以降に
        最初に rox コマンドが実行された時に、AppDirGen が自動実行され
        るようになります。

        ※ROX-Filer の拡張については、こちらをご覧下さい。


    活用:
        AppDirGen を実行すると $HOME/Apps/Applications 以下に、全デス
        クトップエントリファイルに対応する AppDir が、カテゴリごとに
        分類されて生成されます。
        生成された各 AppDir は、そのまま、又は別のディレクトリにコピー
        して、又は ROX のデスクトップやパネルに貼り付けて、ファイラー
        画面上のアイテムとして、或いはデスクトップ・アイコンやパネル・
        アイテムとして利用可能です。

        ※生成された AppDir には既にアイコン画像が内蔵されているので、
        その都度アイコンを設定する必要は有りません。


        又、ROX-Filer における「対応アプリの設定」や「アプリに送る」、
        「メニューをカスタマイズ」等の設定時に、実際のアプリケーション
        の代わりに、よりアクセスし易いこれらの AppDir を利用する事も出
        来ます。

        ※ なんらかのアプリケーションが、システム内で新規にインストー
        ル/アンインストールされた時、$HOME/Apps/Applications 以下にそ
        れに対応する AppDir が存在しない/対応する AppDir が無効、な状
        態になります。
        この様な場合は、AppDirGen をクリックして、変更を適用してくださ

        い。

    注意:
        生成された AppDir の中には、GNOME/KDE/XFCE 等の統合デスクトッ
        プ環境下でなければ意味を成さないもの(GNOME/KDE/XFCE 環境の設定
        ツール等)や、実行できないもの(GNOME/KDE/XFCE 環境のデーモン等
        に依存するもの等)が含まれます。

        又、少数ですが、rox + ウインドウマネージャ環境での GTK テーマ
        を強制的に GNOME/XFCE の GTK テーマに変更してしまうものもあり
        ます。(多くの場合、ログインし直せば元に戻ります)

        生成された AppDir の運用に当たっては、上記の点に充分注意を払い、
        実際に有効な AppDir のみをご利用下さい。



ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 デスクトップエントリファイルについて:
        /user/share/ の *.desktop ファイル群は、デスクトップエントリ
        (Desktop Entry)と呼ばれる、freedesktop.org 準拠のアプリケーシ
        ョン等に添付される、アプリションの情報を記述したファイルです。
        GNOME/KDE 用アプリをはじめとする、多くのデスクトップ用 GUI ア
        プリケーションには、殆どの場合このファイルが添付され、アプリケ
        ーションインストール時に、/usr/share/applications 以下に配置さ
        れメニューなどもこのファイルを参照して生成されます。

        (freedesktop.org (http://www.freedesktop.org/) は UINX 互換 OS
        下のフリーなデスクトップ環境の、各種標準化などを策定する団体です)

        AppDirGenは、このファイルからアプリケーション情報を読み取り、
        rox 環境下で該当アプリケーションを直ちに利用できるようにする
        Wrapper = AppDir を自動生成しています。

        デスクトップエントリの最新仕様は、Desktop Entry Specification
        で公開されています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
  AppDir について:
        AppDir(Application directory) は、rox 環境下で実行可能な、ディ
        レクトリ形式のアプリケーションです。

        AppDir はファイルシステムから見れば単なるディレクトリですが、
        rox のファイラー画面や、ピンボード(rox のデスクトップ)/パネル
        上に置かれたアイテム(アイコン)としては、実行可能アプリケーショ
        ンとして認識され、クリックで実行する事が出来ます。
        つまり AppDir は、rox 環境下では、
            "ディレクトリ"、 且つ" アイコン"、 且つ" 実行ファイル"
        として扱われます。

    AppDir の要件:
        任意の名前のディレクトリ下に、

        AppRun という名前の実行可能ファイルが有れば、そのディレクトリ
        は AppDir として認識され、ROX 環境下でそのディレクトリアイコ
        ンクリックすれば、実行することが出来ます。
        AppRun の存在が AppDir として認識される為の最低要件です。

        AppInfo.xml という名前の xml 形式のファイルが有れば、その内容
        が AppDir のツールチップやプロパティ、実行オプションなどに反
        映されます。

        .DirIcon という名前の画像ファイルが有れば、その画像を AppDir
        のアイコンとして表示することが出来ます。

        Help という名前のサブディレクトリが有れば、rox のメニューから、
        そのディレクトリを表示させることができます。該当 AppDir の各種
        ドキュメント類は、このディレクトリに納めて置きます。

    様々な AppDir:
        AppDir には、単純な AppRun スクリプトのみにより構成されるもの
        から、AppDir 内に高度なバイナリ実行ファイルや、複数のドキュメ
        ント類を含むものまで、様々なものがあります。

        典型的な AppDir の例は、/usr/apps 以下のアイコン化されたディレ
        クトリ群で、その中の "ROX-Filer" は、rox コマンドから呼び出さ
        れる rox-filer の実体であり、これも実は AppDir なのです。
        そして、AppDirGen 自体も、複数のスクリプトファイルやドキュメン
        ト類により構成された AppDir です。

    AppDirGen の場合:
        AppDirGen によって、~/Apps/Applications 以下に生成される AppDir
        群は、これらの内では最も単純なもので、
            ・実際のアプリケーションを呼び出す AppRun シェルスクリプト
                  デスクトップエントリファイルの Exec キーの値を参考に
                 
成されます。
            ・アプリケーションのアイコンを利用した .DirIcon
                 
デスクトップエントリ ファイルの Icon キーの値を参考生
               
  に成されます。
            ・アプリケーションの簡単な説明を表示する AppInfo.xml
                  デスクトップエントリファイルの Comment([ja]) キーの
               
  値を参考に生成されます。
        のみで構成され、アプリケーションのラッパーとして働きます。

      ※AppDirGenでは、AppRun、.DirIcon、AppInfo.xml は、
      デスクトップエントリファイ ルの Exec、Icon、Comment 各
      キーの値を参考にして生成されます。


        ※AppRun の公式ドキュメント(英文)は、オンラインマニュアル、
            ROX-Filer User Manual - Application directories
        又は、
            公 式サイトマニュアル - Application directories
        で、閲覧する事が出来ます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
  アイコンのカスタマイズ:

AppDirGen は AppDir 生成時に、/usr/share 以下にインストールされている
主要アイコンテーマから、AppDir での検索順に従い、アプリケーション用ア
イコンを検索し、AppDir 用のアイコンとして採用しています。

もし採用されたアイコンが好みに合わない場合は、

1.$HOME/.icons/AppIcons/ に、該当アプリケーションのデスクトップエント
リファイルの "Icon" キーの値と同名のアイコン画像(拡張子の指定がない場
合は ".png" を追加)を置けば、最優先で採用されます。

2.$HOME/.icons/AppIcons/ に、"アプリケーションのコマンド名".png という
名前のアイコン用ファイルがあれば、それが次の優先順で採用されます。

※共に同名のリンクでも構いません。

※ たとえば epiphany の場合、"Icon" キーの値は "gnome-web-browser"、コ
マンド名は "epiphany" ですが、$HOME/.icons/AppIcons/ に、
"gnome-web-browser.png" があれば、これが AppDir のアイコンになります。
"epiphany.png" があれば、次の優先順で AppDir のアイコンに採用されます。


もし好みのアイコンテーマがあれば、そのテーマの apps ディレクトリから、
$HOME/.icons/AppIcons/ にリンクを張っても構いません。
(例: ln -s /usr/share/icons/kids/64x64/apps ~/.icons/AppIcons)

※ AppDir と アプリケーションのコマンド名は、必ずしも同じとは限りませ
ん。"アプリケーションのコマンド名" が判らない時は、該当 AppDir を
    1.Shift キーを押しながらクリックし、
    2.表示されたフォルダ内の AppRun スクリプトをエディタ等で開き、
    3.実行コマンドを調べてください。
"exec xxxxx $@” という行が見当たれば、xxxxx の部分が、"アプリケーショ
ンのコマンド名です。


※ "コマンド名.png" より、"デスクトップエントリファイルの Icon キーの
値" の優先度を高くしたのは、一部アプリケーションでは、同一コマンド名の
起動オプション毎に、別のデスクトップエントリを持ち、Icon キーも別の値
を持つ場合が有るからです。(例: OpenOffice 関連)


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
  ライセンス:

AppDirGen は GLP ライセンスに基づき、コピー/再配布/改造する事が
出来ます。


AppDirGen / Application Directory Generator
Copyright (C) 2008- "OKATANA" \
(KATO Masashi<mkato@par.odn.ne.jp> \
 TANAKA hiroaki<mosaicist@par.odn.ne.jp>)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - \
        Suite 330, Boston, MA  02111-1307, USA.

※ GNU General Public License 日本語訳は、
       http://www.opensource.jp/
   等のサイトで公開されています。







ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
  Vine Linux - Fluxbox での AppDir の活用

Vine Linux の fluxbox のユーザーメニューでは、AppDir を rox 用のアプリ
ケーションディレクトリとして認識可能なように拡張されています。
簡単に利用するには、
    ~/.fluxbox/UserMenu
ディレクトリに、AppDirGen で生成された AppDir を、ドラッグ&ドロップで
リンクを貼るかコピーするだけです。後は、
    ルートメニュー → Fluxboxメニュー → Vineツール
        全メニュー再作成
すれば、ユーザーメニューから AppDir を呼び出せるようになります。