65.9K
CodeProject 正在变化。 阅读更多。
Home

扩展 GNOME 2.x 桌面菜单

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2015年8月11日

CPOL

2分钟阅读

viewsIcon

6496

如何将应用程序分组到 GNOME 桌面菜单的自定义菜单中。

引言

我想在我的 open SUSE 11.3 GNOME 桌面菜单中将应用程序分组到自定义菜单中,但我找不到相关的教程。我解决了这个问题,但花费了我 2 个小时的调查,现在我想分享我的知识。

我认为我的操作步骤对于其他 Linux 发行版和桌面管理器也可能有所帮助。

背景

在安装了一些用于测试的应用程序后,我希望它们显示在一个名为 软件测试 的专用桌面菜单中。

有一个很好的 桌面菜单规范 文章,但将信息转化为知识对我来说比预期的要困难。

逐步操作

--> 首先,我需要调查哪些 /etc/xdg/menus/*.menu 文件定义了我的桌面菜单。我的桌面菜单显示一个 应用程序 菜单,我选择这个菜单作为调查对象。通过对 *.menu 文件进行一些尝试和错误,我检测到 /etc/xdg/menus/applications.menu 负责将名称从 应用程序 更改为 应用程序__,然后再改回来。

    <!-- ORIGINAL entry -->
    <Menu>
        <OnlyUnallocated/>
        <Name>Applications</Name>
        <Directory>suse-applications.directory</Directory>
        <Include>
            <All/>
        </Include>
    </Menu>
    <!-- ALTERED entry -->
    <Menu>
        <OnlyUnallocated/>
        <Name>Applications__</Name>
        <Directory>suse-applications.directory</Directory>
        <Include>
            <All/>
        </Include>
    </Menu>

从现在开始,所有步骤都将非常简单。

--> 其次,需要为 /etc/xdg/menus/applications.menu 创建并配置一个新的菜单节点。

    <Menu>
        <NotOnlyUnallocated/>
        <Name>SoftwareTesting</Name>
        <Directory>suse-software-testing.directory</Directory>
        <Include>
            <Category>SoftwareTesting</Category>
        </Include>
    </Menu>

<Directory> 子节点定义了 *.directory 文件的相对路径,该文件包含有关菜单的元信息。<Category> 子节点定义了类别,应用程序必须分配到该类别才能在菜单中显示。

--> 第三,需要创建 /usr/share/desktop-directories/suse-software-testing.directory 文件。我基于 suse-system.directory 的副本创建了我的文件,因为 suse-system.directory 文件被另一个菜单的 <Directory> 子节点引用,因此它必须有效。

[Desktop Entry]
X-SuSE-translate=true
Encoding=UTF-8
Name=Software testing
Icon=package_development

Type=Directory

Name 值定义了我新桌面菜单的显示文本。

--> 第四,需要将应用程序分配到菜单。为此,每个菜单条目都由一个 /usr/share/applications/*.application 文件定义。

[Desktop Entry]
Name=Xfe
Name[cs]=Xfe
Name[de]=Xfe

...

enericName=File Manager
GenericName[cs]=Souborový manažer
GenericName[de]=Dateimanager
...

Comment=A lightweight file manager for X Window
Comment[cs]=Lehký souborový manažer pro X
Comment[de]=Ein leichter Dateimanager für X Window

...

Exec=xfe
Terminal=false
Type=Application
StartupNotify=true
Icon=xfe
Categories=System;FileManager;SoftwareTesting;

大多数值不言自明。Categories 值分配了应用程序要显示的菜单类别。

请记住,只有当至少有一个应用程序分配到其类别时,菜单才会显示。

关注点

尽情个性化您的系统吧。

历史

初始版本于 2015 年 7 月 11 日。

© . All rights reserved.