Xdg-menu (Русский)

xdg-menu — это инструмент, генерирующий меню на основе информации из XDG Desktop Menu для следующих оконных менеджеров:

Состояние перевода: На этой странице представлен перевод статьи Xdg-menu. Дата последней синхронизации: 14 февраля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

KDE, GNOME, Xfce и Enlightenment уже имеют совместимость с XDG.

Установка

Установите пакет archlinux-xdg-menu.

Иерархия меню

  • Applications (Приложения)
    • Accessibility (Специальные возможности)
    • Accessories (Стандартные)
    • Development (Разработчка)
    • Education (Образование)
    • Games (Игры)
    • Graphics (Графика)
    • Internet (Интернет)
    • Multimedia (Мультимедиа)
    • Office (Офис)
    • Other (Прочее)
    • Science (Наука)
    • System (Система)

Настройка

Xdg_menu опирается на сведения для генерации меню из трёх источников: root menu (главное меню) или другими словами, шаблон меню XML, как правило передающихся в командной строке, информация и ряд конфигурационных файлов кэшируются, после последнего запуска.

  • Вы можете найти несколько шаблонов меню в /etc/xdg/menus.
  • После изменения кода в xdg_menu, чтобы изменить схему, убедитесь, что вы удалили всё в ~/.xdg_menu_cache, иначе вы потратите много времени, пытаясь выяснить, почему ваши изменения в скрипатх Perl не принимаются.
  • Вы можете найти индивидуальные конфигурации приложений в /usr/share/applications.

Другие каталоги файлов конфигурации можно найти в каталоге /usr/share. В большинстве случаев вам не нужно трогать их. Если вы хотите, изменить то, как ваше меню располагается, вы можете изменить шаблон меню. Основные изменения требуют тонкой настройки скрипта perl xdg_menu. Если вы обнаружили, что приложения не отображаются или что они вызывают что-то не то, то вам нужно будет посмотреть в файл .desktop в /usr/share/applications. Проверьте этот файл стандартов.

Добавление записей рабочего стола из других каталогов

По умолчанию, меню XDG будет заполняться приложениями которые устанавливают свои desktop entries в /usr/share/applications. Чтобы добавить в меню приложение, которое устанавливает свои desktop entry в пользовательский каталог, такой как ~/.local/share/applications, отредактируйте файл /etc/xdg/menus/arch-applications.menu и добавьте тэг <AppDir> для соответствующего каталога, смотрите ниже:

/etc/xdg/menus/arch-applications.menu
<Menu>

  <Name>Applications</Name>
  <Directory>Arch-Applications.directory</Directory>
  <DefaultAppDirs/>
  '''<AppDir>/home/''Ваш логин''/.local/share/applications</AppDir>'''
  <DefaultDirectoryDirs/>
  <DefaultMergeDirs/>
  ...

Использование

xdg_menu

xdg_menu [--format <format>] [--desktop <desktop>] 
         [--charset <charset>] [--language <language>]  
	 [--root-menu <root-menu>] [--die-on-error]
	 [--fullmenu] [--help]
		 
	format - output format
	         possible formats: twm, WindowMaker, fvwm2, icewm, ion3
	                           blackbox, fluxbox, openbox, 
				   xfce4, openbox3, openbox3-pipe, awesome
				   readable
		 default: WindowMaker
		
 	fullmenu  - output a full menu and not only a submenu

	desktop - desktop name for NotShowIn and OnlyShowIn
		 default: the same as format
			 
	charset - output charset
		 default: <locale>
			 
	language - output language
		 default: <locale>
			 
	root-menu - location of root menu file
		 default: /opt/gnome/etc/xdg/menus/applications.menu
			 
	die-on-error - abort execution on any error, 
		 default: try to continue

	verbose - print debugging information
		 
	help - print this text

update-menus

update-menus обновляет меню оконных менеджеров на основе данных XDG и может быть настроен на автоматическое обновление.

Это скрипт-оболочка xdg_menu. Его можно настроить с помощью файла .

Для использования установите пакет archlinux-xdg-menu (xdg_menu).

В файле выберите из списка оконные менеджеры, для которых нужно сгенерировать меню. Строки с символом # в начале считаются комментариями и игнорируются.

Все сгенерированные меню находятся в каталоге . В разделе #Примеры показано, как настроить использование меню в оконных менеджерах.

Примеры

С xdg_menu

$ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu > ~/.config/awesome/archmenu.lua

Затем измените как показано ниже.

  • Добавьте требуемый оператор для вашего нового файла .
  • Добавьте запись в свой объект awful.menu для нового меню, которое вызывает xdg-menu.

С xdg_menu

$ xdg_menu --format icewm --fullmenu --root-menu /etc/xdg/menus/arch-applications.menu >> ~/.icewm/programs

С update-menus

  • Раскоментируйте icewm в .
  • Выполните от имени суперпользователя (root).
  • Сделайте символьную ссылку на в .

С xdg_menu

$ xdg_menu --format fluxbox --root-menu /etc/xdg/menus/arch-applications.menu > ~/.fluxbox/my-menu

Измените файл меню, чтобы включить сгенерированное меню.

Например добавьте строку:

[include] (my-menu)

С update-menus

  • Расскоментируйте fluxbox в .
  • Выполните от имени суперпользователя (root).
  • Измените файл меню, чтобы включить сгенерированное меню.

Например добавьте строку:

[include] (/var/cache/xdg-menu/fluxbox/boxrc)

С xdg_menu

Сгенерируйте меню

$ xdg_menu --format openbox3 --root-menu /etc/xdg/menus/arch-applications.menu > xdg-menu.xml

и вручную добавьте его в свой . Например, положите в и добавьте:

<menu id="Applications" />

в .

Как pipe menu

Использование xdg_open как pipe menu, дает дополнительное преимущество получить меню, которое автоматически обновляется при установке новых приложений.

Добавьте следующее, где-то, внутри вашего menu.xml между вашими тэгами root menu

<menu id="applications" label="Applications" execute="xdg_menu --format openbox3-pipe --root-menu /etc/xdg/menus/arch-applications.menu" />

Очень простой пример:

С update-menus

  • Расcкоментируйте openbox в .
  • Выполните от имени суперпользователя (root).
  • измените ваш файл , чтобы включить сгенерированное меню.

Например, добавьте следующее в root-menu:

<menu id="xdg-menu" label="XDG Menu" execute="cat /var/cache/xdg-menu/openbox/menu.xml"/>

С xdg_menu

Используйте

$ xdg_menu --format twm --root-menu /etc/xdg/menus/arch-applications.menu >my-twm-menu

И добавьте его в twmrc вручную. В случае с производным twm препроцессингом m4, таким как vtwm или ctwm, он может быть включен путём добавления

sinclude(`/PATH/TO/my-twm-menu')

в *twmrc.

С update-menus

  • Расcкоментируйте twm в .
  • Добавьте в файл меню приложений (добавьте это в defops menu)::
 "apps"          f.menu "Applications"
  • Выполните от имени суперпользователя (root).
  • Выполните .

С xdg_menu

Используйте

$ xdg_menu --format WindowMaker --root-menu /etc/xdg/menus/arch-applications.menu >my-wm-menu

и добавьте

#include "my-wm-menu"

в ваш файл меню WindowMaker.

Вы можете также использовать WPrefs "Application Menu Definitions", и добавить команду XDG в качестве параметра в объект "Generated Submenu".

С update-menus

  • Расcкоментируйте WindowMaker в .
  • Выполните от имени суперпользователя (root).
  • Добавьте
#include "/var/cache/xdg-menu/WindowMaker/wmrc"

в ваш файл меню.

С xdg_menu

Сгенерируйте меню

$ xdg_menu --format fvwm2 --root-menu /etc/xdg/menus/arch-applications.menu >fvwm2-menu

И добавьте его в главное меню:

С update-menus

  • Расcкоментируйте fvwm2 в .
  • Выполните от имени суперпользователя (root).
  • измените ваш файл , чтобы включить сгенерированное меню. Например:
AddToMenu MenuFvwmRoot  "Root Menu"             Title
+                       "&0. XDG Menu"          Popup xdg_menu
read /var/cache/xdg-menu/fvwm2/fvwm2rc

С xdg_menu

$ xdg_menu --format blackbox  --root-menu /etc/xdg/menus/arch-applications.menu >my-menu

Измените файл меню, чтобы включить сгенерированное меню.

Например добавьте строку:

[include] (my-menu)

С update-menus

  • Расcкоментируйте blackbox в .
  • Выполните от имени суперпользователя (root).
  • Измените файл меню, чтобы включить сгенерированное меню.

Например добавьте строку:

[include] (/var/cache/xdg-menu/blackbox/boxrc)

Смотрите также

gollark: ?tag bm25
gollark: According to 9 out of 10 dentists, people do this fairly often.
gollark: I mean, the ones in the future.
gollark: I can retask an orbital scanning satellite or 86 if you want.
gollark: You haven't heard of Karl Gruen?
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.