我如何使用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然后分析了它的输出。正确的菜单文件需要明确命名外部菜单(Applications),如下所示:

<!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;菜单然后只需选择新菜单或新条目。

不确定你的意思是什么?在openSUSE中.directory文件是强制性的,否则程序组不显示“;一般来说,我想你必须两次调用xdg-desktop-menu(一次用于程序组,一次用于程序本身),因此你必须提供两个不同的.directory文件。如果程序组为空,则桌面隐藏它是有意义的。

(但也许我在这里完全误解了你:-)而且我自己从未使用过xdg-desktop-menu。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top