如何创建自定义 Freedesktop 菜单类别?

如何创建自定义 Freedesktop 菜单类别?

我似乎无法创建“安全”作为自定义顶级 Freedesktop 类别。 (我有带有 Openbox 的 Sparky Linux。)

我做了研究,每个人都同意你可以通过三个简单的步骤来完成:

  1. 在 /etc/xdg/menus/applications-merged/ 创建 security.menu 文件
  2. 在 /usr/share/desktop-directories/ 创建 security.directory 文件
  3. 在 ~/.local/share/applications/ 创建一个 appName.desktop 文件

创建这三个文件后,该appName.desktop条目确实出现在我的 jgmenu 中,但位于其他类别,而不是安全我创建的类别。无论出于何种原因,菜单无法识别我的新类别,只是将我的应用程序保留在“其他”类别中,因为它不知道该怎么做。我已经多次仔细检查了.menu和文件,并且按照应有的方式对它们进行了格式化。 .directory(两者的内容如下所示)

还有什么我应该做的吗?

安全菜单

> <!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>Security</Name>
>     <Directory>security.directory</Directory>
>     <Include>
>       <And>
>       <Category>Security</Category>
>       </And>
>     </Include>
>   </Menu>
> </Menu>

安全目录

> [Desktop Entry] 
> Type=Directory 
> Encoding=UTF-8 
> Name=Security
> Icon=org.gnome.dspy

答案1

这是为后人提供的有效示例:

创建一个.directory文件,小心,这个文件的命名很重要。

将此文件保存到:$HOME/.local/share/desktop-directories/work.directory:

[Desktop Entry]
Version=1.0
Type=Directory
Name=Work
Comment=Apps for Work
Icon=/usr/share/pixmaps/working-time-color.png

创建一个.menu文件——当然,文件的命名也很重要。

将此文件保存到:$HOME/.config/menus/applications-merged/user-work.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>work</Name>
    <Directory>work.directory</Directory>
    <Include>
      <Filename>remote-viewer.desktop</Filename>
    </Include>
  </Menu>
</Menu>

在该<Include>节点下,您可以包含任何用户.desktop文件(位于 下~/.local/share/applications/),或系统范围内可用的文件(位于 下/usr/share/applications/)。

参考:https://specations.freedesktop.org/menu-spec/latest/index.html

相关内容