Linuxでの新しいアプリケーショングループの追加
-
05-07-2019 - |
質問
Javaまたは他のプログラミング言語を使用して、KDEとGnomeの両方のアプリケーションメニューに新しいプログラムグループを追加するにはどうすればよいですか?
UbuntuとKubuntu 8でテストしています。〜/ .config / menus / applications-mergedに単純な.menuファイルを配置するとKubuntuで機能しますが、Ubuntuでは同じ手順では何も実行されません。
ファイルの内容は次のとおりです。
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<Menu>
<Name>My Program Group</Name>
<Include>
<Filename>shortcut.desktop</Filename>
</Include>
</Menu>
</Menu>
.desktopファイルは〜/ .local / share / applicationsに正しく配置されていることに注意してください。
Ps:元の質問では、プログラムによる解決策が必要であるとは明記されていませんでした。
解決
たぶんxdg-desktop-menuはそうですか? man xdg-desktop-menu
または http://manpages.ubuntu.com/manpages/hardy/en/man1/xdg-desktop-menu.html
他のヒント
ありがとう、オリバー。 xdg-desktop-menuを使用して、その出力を分析しました。正しいメニューファイルでは、次のように外部メニュー(アプリケーション)に明示的に名前を付ける必要があります。
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name>
<Menu>
<Name>My Program Group</Name>
<Include>
<Filename>shortcut.desktop</Filename>
</Include>
</Menu>
</Menu>
これはKubuntu、Ubuntu、およびFedora Core 9で正常に機能しましたが、openSUSEでは機能しませんでした。
これをカバーするfreedesktop.org標準を調べることをお勧めします。最新のリストはこちらから入手できます。
http://www.freedesktop.org/wiki/Specifications/menu-spec
現在、最新のものは1.0です。
http://standards.freedesktop.org/menu-spec/1.0/
FreeDesktop.org標準にはGnome、KDE、およびXFCEが準拠しているため、どのディストリビューションでも動作するはずです。
Gnome使用システム-&gt;設定-&gt;メニューは、[新しいメニュー]または[新しいエントリ]を選択します。
&quot; openSUSEで.directoryファイルが必須であるか、またはプログラムグループが表示されない&quot;の正確な意味がわかりません。通常、xdg-desktop-menuを2回(プログラムグループに対して1回、プログラム自体に対して1回)呼び出す必要があるため、2つの異なる.directoryファイルも提供する必要があります。プログラムグループが空の場合、デスクトップがそれを非表示にしていることは理にかなっています。
(しかし、ここであなたを完全に誤解したかもしれません:-)、とにかくxdg-desktop-menuを使用したことはありません)