ファイル構造
ディレクトリーエントリーとデスクトップエントリーのファイル構造です。ディレクトリーエントリーとデスクトップエントリーは似たような構造なので、まとめて扱います。
コメント行
「#」で始まる行はコメント行です。この行は無視されます。
例)
#この行はコメントです。グループ
グループは各設定をまとめたものです。設定のカテゴリみたいなものですね。
設定は必ずいずれかのグループに属します。
グループはグループヘッダーにより定義します。
グループヘッダー
グループヘッダーは、グループとグループ名を定義します。グループヘッダーのフォーマット
グループヘッダーのフォーマットは、[グループ名]です。グループ名に利用できる文字は、英数字記号です。
複数のグループを定義することができます。
ただし、同名のグループ名は利用できません。
必ず一意になるようにします。
例)
[Desktop Entry]エントリー
設定です。エントリーのフォーマットは、「キー=値」です。
キーに利用できる文字は、英数字とハイフンのみです。
値に利用できる文字は、値の種類により異なります。
キーの名称はグループヘッダー内で一意でなければなりません。
例)
Type=Applicationエントリーの値について
エントリーの値の種類は以下の4つがあります。- 文字列(string)
- ローカライズ文字列(localestring)
- 論理値(boolean)
- 浮動小数点数(numeric)
文字列
文字列です。利用できる文字は英数字記号に限ります。
エスケープシーケンスが利用できます。
ローカライズ文字列
UIに表示する文字です。任意の文字が利用できます。
また、スケープシーケンスが利用できます。
ローカライズ文字列は、キーにローカライズ情報を持たせることができます。
実行している言語環境により、表示させる文字列を変えることができます。
理論値
「true」もしくは「false」のどちらかの文字をセットできます。チェックボックスに例えると、「true」がチェックオンで「false」がチェックオフです。
浮動小数点数
小数点です。整数をセットしても構いません。
フォーマットは、scanfの%fと同じです。
複数の値を取る場合
キーによっては複数の値を取ることがあります。複数の値を指定する場合は、「;」で値を区切ります。
必ず最後に「;」が必要です。
例)
Categories=GNOME;Settings;DesktopSettings;種類の指定について
エントリーの値を記述する際に、値の種類を指定することはありません。予めキーと値の種類が決められており、その種類に応じた書き方をします。
例えば、「Terminal」キーは値に「理論値」を設定すると決められています。
従って以下のような書き方をします。
例)
Terminal=trueTerminal=false
ローカライズ文字について
ローカライズ文字列をセットする場合は、キーにローカライズ情報を持たせることができます。以下のように書きます。
キー[言語情報]=ローカライズ文字列
言語情報について
言語情報は以下のように指定します。言語_地域@修飾子
言語以降は省略されることがほとんどです。
Ubuntuの日本語環境は「ja_JP.UTF8」で修飾子はありません。
従って言語の「ja」を指定すれば良いという事になります。
言語情報を省略した場合は、デフォルトのローカライズ文字列という扱いになります。
デフォルトのローカライズ文字列は、該当する言語の文字列が設定されていない場合に利用されます。
例)
GenericName=SpreadsheetGenericName[ja]=表計算ドキュメント
この例の場合、日本語環境では「表計算ドキュメント」が利用され、日本語以外の環境では「Spreadsheet」が利用されます。