.desktopエントリファイルをJSONに変換する
Linux .desktopエントリファイル(アプリケーションランチャー用)をJSON形式に変換します。Desktop Entry、Actions、標準freedesktop.orgキーを解説します。
Common Files
詳細な説明
デスクトップエントリファイルからJSONへ
Linuxのデスクトップエントリファイル(.desktop)は、freedesktop.orgのDesktop Entry仕様に従ったINI形式に従います。メニューやランチャーでのアプリケーションの表示方法を定義します。
.desktopファイルの例
[Desktop Entry]
Type=Application
Name=Firefox Web Browser
Exec=firefox %u
Icon=firefox
Terminal=false
StartupNotify=true
Categories=Network;WebBrowser;
Actions=new-window;
[Desktop Action new-window]
Name=Open a New Window
Exec=firefox --new-window
生成されるJSON
{
"Desktop Entry": {
"Type": "Application",
"Name": "Firefox Web Browser",
"Exec": "firefox %u",
"Icon": "firefox",
"Terminal": false,
"StartupNotify": true,
"Categories": "Network;WebBrowser;",
"Actions": "new-window;"
},
"Desktop Action new-window": {
"Name": "Open a New Window",
"Exec": "firefox --new-window"
}
}
デスクトップエントリ固有の事項
- スペースを含むセクション名:
[Desktop Entry]のようなセクションはJSONキーにそのまま保持されます - セミコロン区切りリスト:
CategoriesとMimeTypeはセミコロンを区切り文字として使用し、JSON内では文字列のまま残ります - ブーリアンフィールド:
TerminalとStartupNotifyはtrue/falseを使用し適切に変換されます
ユースケース
Webベースの管理インターフェースで.desktopファイルをJSONとして読み込み、システム管理者がアプリケーションランチャーの管理、Execコマンドの編集、MIMEタイプの関連付けを管理するデスクトップアプリケーションマネージャーの構築。