Эта страница рассказывает, как внести изменения в меню, используя Xfdesktop версии 4.5 или выше и libxfce4menu. Обратите внимание, что в версии 4.6 нет графического редактора меню. Мы надеемся, что он снова появится в 4.8.
Xfdesktop отвечает за файл меню и пункты главного меню (Выполнить, Терминал, Файловый менеджер, …). Чтобы модифицировать ваше меню, вам придётся их изменить.
Создайте директорию ~/.config/menus (если она не существует):
mkdir ${XDG_CONFIG_HOME:-~/.config}/menus/
Скопируйте установленный файл меню в вашу домашнюю директорию:
cp $prefix/etc/xdg/menus/xfce-applications.menu ${XDG_CONFIG_HOME:-~/.config}/menus
Чтобы удалить пункты из главного меню, нужно скопировать определённый файл описания программы , а затем добавить или изменить в нём пункт NoDisplay. Больше информации об общепринятых файлах описания программ можно найти здесь.
Xfdesktop устанавливает следущие описания:
$prefix/share/applications/xfce4-about-xfce.desktop
$prefix/share/applications/xfce4-file-manager.desktop
$prefix/share/applications/xfce4-help.desktop
$prefix/share/applications/xfce4-logout.desktop
$prefix/share/applications/xfce4-run-program.desktop
$prefix/share/applications/xfce4-terminal.desktop
$prefix/share/applications/xfce4-web-browser.desktop
Чтобы скрыть конкретный файл описания программы скопируйте его в свою домашнюю директорию, например:
cp $prefix/share/applications/xfce4-web-browser.desktop ~/.local/share/applications,
а затем добавьте или измените существующий в нём пункт NoDisplay:
NoDisplay=true
Если вы просмотрели спецификацию файла описания, то, возможно, вы уже заметили разницу между двумя этими пунктами. NoDisplay убирает приложение из меню, но ассоциации типов mime всё ещё доступны для Thunar (например). Установка пункта Hidden приводит к тому же эффекту, что и удаление файла.
Ваши собственные пункты меню должны располагаться в ~/.local/share/applications
.
В этой директории вы можете создавать файлы описания для каждого пункта меню, например, для пункта меню, запускающего Eclipse, создайте файл eclipse.desktop
в директории ~/.local/share/applications
:
[Desktop Entry] Version=1.0 Type=Application Encoding=UTF-8 Exec=eclipse Icon=eclipse StartupNotify=false Categories=X-XFCE;X-Xfce-Toplevel; OnlyShowIn=XFCE; Name=Eclipse Comment=Eclipse Java IDE
Чтобы его отобразить, вы должны внести изменения в файл ${XDG_CONFIG_HOME:-~/.config}/menus/xfce-applications.menu
, к примеру:
<Menu> <Name>Xfce</Name> <DefaultAppDirs/> <DefaultDirectoryDirs/> <Include> <Category>X-Xfce-Toplevel</Category> </Include> <Layout> <Filename>xfce4-terminal.desktop</Filename> <Separator/> <Filename>eclipse.desktop</Filename> [...]
Начиная с версии 4.5, libxfce4menu не поддерживает “Слияние” (“Merge”) из спецификации меню. Это означает, что создание хорошего редактора меню стало невозможным. Чтобы добавить или удалить пункты меню, вы должны вручную скопировать нужные файлы.
Предположим, что у вас установлен “gvim”, тогда должен существовать файл /usr/share/applications/gvim.desktop
. Скопируйте его себе в домашнюю директорию, в ~/.local/share/applications
. Теперь вы можете внести в него изменения.
Чтобы создать новый пункт меню, вы можете создать новый файл описания программы в этой же директории. exo-desktop-item-edit
упрощает создание таких файлов. Запустите, например, exo-desktop-item-edit --create-new ~/.local/share/applications/
.
Чтобы создать новое подменю, добавьте новый элемент типа “Menu” в файл ~/.config/menus/xfce-applications.menu на том же уровне, что и другие подменю XFCE, вроде “Graphics” или “Multimedia”. В добавок к уже упомянутому элементу “Name”, необходимо ещё два: во-первых, элемент “Directory” полезен для установки соответствия подменю файлу описания программы, который обеспечивает, помимо прочего, правильную иконку, как мы вскоре увидим. Во-вторый, элемент “Category” ставит файл .desktop в соответствие этому подменю. Рекомендуется создавать новые категории, начинающиеся с “X-”, что является общепринятым префиксом для нестандартных категорий. В качестве примера, мы создадим подменю для отображения различных директорий в вашем любимом файловом менеджере. Ваша новая запись должна выглядет так:
<Menu> <Name>Folders</Name> <Directory>folders.directory</Directory> <Include> <Category>X-Folders</Category> </Include> </Menu>
Затем создайте файл ~/.local/share/desktop-directories/folders.directory со следующим содержимым:
[Desktop Entry] Version=1.0 Type=Directory Icon=file-manager Name=Folders Comment=Folders viewed in a file manager
Это обеспечит отображаемое имя поддиректории и соответствующую иконку.
Наконец, создайте файлы .desktop в директории ~/.local/share/applications как показано выше, чтобы заполнить это подменю. Чтобы ваша категория могла отображаться в подменю, добавьте её в список “Categories”. Один из этих файлов, назовём его thunar-home.desktop, может выглядеть так:
[Desktop Entry] Version=1.0 Type=Application Exec=/usr/local/bin/thunar /usr/home/yourname Icon=file-manager StartupNotify=false Categories=X-Folders; OnlyShowIn=XFCE Name=home Comment=home displayed in Thunar
Со всем этим и после обновления вашего меню (см. ниже), у вас должно появиться подменю “Folders”, использующее иконку файлового менеджера. Пункт подменю, показанный выше должен показывать содержимое вашей домашней директории в Thunar. Вы, конечно, можете добавлять новые пункты меню в качестве ссылок на привычные места, вроде /cdrom, /stick или любые другие, которые вам нужны.
Если у вас нет системы наблюдения за файлами, запустите xfdesktop --reload
чтобы обновить меню.
Если это не помогло, можете, так же, попробовать killall -HUP xfdesktop
.
Наслаждайтесь!