Xfce Wiki

Sub domains
 

This is an old revision of the document!


Модифицирование меню XFCE

Эта страница рассказывает, как внести изменения в меню, используя Xfdesktop версии 4.5 или выше и libxfce4menu. Обратите внимание, что в версии 4.6 нет графического редактора меню. Мы надеемся, что он снова появится в 4.8.

Что устанавливает xfdesktop

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 и Hidden

Если вы просмотрели спецификацию файла описания, то, возможно, вы уже заметили разницу между двумя этими пунктами. 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/.