Сайт создан в 1996 году

Научно-исследовательская клинико-диагностическая лаборатория
ВHMУ им.Н.И.Пирогова
Института химии поверхности НАН Украины.
 Избранные

Поиск
 o Google
 o PubMed

По сайту
 o Главная
 o Рабочие ссылки
 o Portable Soft
 o Lab Soft
 o Linux & Co
 o HPLC

Кафедра
 o Главная

 

 Counters

Kiev



Customize the Xfce menu. Редактирование меню в XFCE

    Исходный текст (англ.) - Wiki.xfce

    Метод применим для Xfdesktop 4.5 и выше.

    При самом первом запуске Xfdesktop генерирует и устанавливает файл меню и файлы типа *.desktop. Эти файлы, вместе с иными файлами типа *.desktop, которые не созданы Xfdesktop, образуют меню.

    При редактировании меню мы будем менять файл меню, заданный переменной $XDG_CONFIG_HOME (как правило, нулевой, т.e. обычно ~/.config/menus/Xfce-applications.menu) и копии файлов *.desktop в вашем домашнем каталоге.

    Если каталог меню файла существует, когда начинается сессия xfdesktop, изменения в файле меню осуществляется немедленно. Аналогично, если в начале сессии существует ~/.local/share/applications (в домашнем каталоге), то изменения в свои файлы *.desktop вносятся немедленно.

    Копирование файла меню необходимо только, если вы хотите изменить "тяжелые" записи (например, наименования разделов меню и подменю). Для этого создается папка ~/.config/menus (если её ещё не было :) В эту папку копируется файл меню, обычно usr/etc/xdg/menus/xfce-applications.menu или usr/etc/xfce/xdg/menus/xfce-applications.menu или /etc/xdg/menus/xfce-applications.menu - точное расположение зависит от дистрибутива. Теперь xfdesktop сперва будет просматривать файл меню, расположенный в домашней папке, а лишь потом - исходный файл.

    Далее, копируем файлы *.desktop из usr/share/applications/ в ~/.local/share/applications. (После чего не забудьте всем этим файлам изменить права доступа с root на пользователя - иначе в меню практически ничего не останется - замечено на личном опыте).

    Чтобы скрыть пункт меню, необходимо добавить в соответствующий файл *.desktop строку
NoDisplay=true

    При этом файловые ассоциации приложения остаются исходными. Внесение строки
Hidden=true
эквивалентно удалению файла.

    Если Вы желаете удалить пункт меню лишь из корня меню, то в скопированном *.desktop файле следует удалить подстроку категории X-Xfce-Toplevel.

    Обычно Xfdesktop прописывает в корне следующие пункты (обычно $prefix = /usr):
$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

    Так, для удаления браузера из корня меню, необходимо скопировать его (браузера) файл *.desktop и заменить в нем строку
Categories=X-XFCE;X-Xfce-Toplevel;
на
Categories=X-XFCE;

    Добавление пунктов меню

    Для каждого пункта необходимо создать свой файл *.desktop. Т.е. для того, чтобы в меню появился пункт запуска 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

    Если вы предпочитаете работать в GUI (позволяет выбрать иконку с просмотром вариантов), можно создать файл *.desktop с помощью команды
exo-desktop-item-edit --create-new ~/.local/share/applications

    Однако в этом случае пункт меню по умолчанию будет принадлежать к категории "Application", что скорее всего приведет к необходимости последующего редактирования полученного файла.

    Категория определяет место, где будет располоден новый пункт меню. Для размещения в корне меню следует включить категорию "X-Xfce-Toplevel". Для размещения в подменю, в перечень категорий следует включить хотя бы одну категорию, определяющую данное подменю. Точную информацию по этому поводу можно получить исследуя файл ~/.config/menus/xfce-applications.menu. Например, подменю Accessories имеет следующее определение :

    <Menu>
        <Name>Accessories</Name>
        <Directory>xfce-accessories.directory</Directory>
        <Include>
            <Or>
                <Category>Accessibility</Category>
                <Category>Core</Category>
                <Category>Legacy</Category>
                <Category>Utility</Category>
            </Or>
        </Include>
    </Menu>

    Т.е. любой файл *.desktop, имеющий в строке категорий "Accessibility", "Core", "Legacy" или "Utility" будет виден в подменю "Accessories" (если, конечно, там не будет строки NoDisplay=true).

    Если какой-нибудь файл *.desktop не будет содержать категорий, предусмотренных в файле xfce-applications.menu, появится новое субменю, в которое будет входить данный пункт. Это распространяется на файлы *.desktop, расположенные как в папке (обычно $prefix = /usr) $prefix//share/applications/, так и в папке ~/.local/share/applications.

    Если Вы не хотите, чтобы у Вас существовало какое-либо субменю, Вам следует скопировать в доманюю папку файлы *.desktop всех приложений, входящих в это субменю и модифицировать их таким образом, чтобы категория нежелательного субменю была заменена на категории иных субменю.

    Чтобы создать новое субменю, добавьте новый элемент в файл ~/.config/menus/xfce-applications.menu на том же уровне, что и другие субменю, например “Graphics” или “Multimedia”. Кроме элемента "Name" необходимы 2 дополнительных элемента. Первый - "Directory", который связывает подменю с файлом *.desktop данного подменю и позволяющий, например, задать пиктограмму данного подменю. Второй элемент - "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 /home/$yourname$
Icon=file-manager
StartupNotify=false
Categories=X-Folders;
OnlyShowIn=XFCE
Name=home
Comment=home displayed in Thunar

    По завершению, Вы должны получить новое подменю с названием "Folders", имеющее пиктограмму "file-manager". Запуск пункта подменю, показанного выше, должeн привести к отображению домашнего каталога в Thunar. Разумеется, Вы можете добавить гораздо бОльшее количество пунктов, позволяющих Вам переходить в стандартные места, типа /cdrom, /stick, и тому подобное.

    Если меню не обновляется автоматически с вашими изменениями, попробуйте ускорить отображение внесенных изменений
xfdesktop --reload
Если не сработает, попробуйте
killall -HUP xfdesktop

    Возможны случаи, когда и это не сработает. Однако выход из сессии Xfce и вход обратно сработает всегда.

Назад в SimpleLinux

Назад в Linux


Связь через гостевую книгу, т.к. спамеры меня уже задрали.
А.Ильченко

© 1996-2017