Xdg-menu (Español)

Esta traducción de
Xdg-menu
fue revisada el
2022-10-03
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
xdg-menu
es una herramienta que genera
Menus de XDG Desktop
para los siguientes
gestores de ventanas
:
awesome
Blackbox
Fluxbox
FVWM2
IceWM
Openbox
twm
Window Maker
KDE
,
GNOME
,
Xfce
y
Enlightenment
ya son compatibles con XDG.
Instalación
Instale
el paquete
archlinux-xdg-menu
.
Jerarquía del menú
Aplicaciones
Accesibilidad
Accesorios
Desarrollo
Educación
Juegos
Gráficos
Internet
Multimedia
Oficina
Otros
Ciencia
Sistema
Configuración
xdg_menu ocupa tres fuentes para generar menús: el menú raíz, o en otras palabras, una plantilla de menú XML usualmente pasada por la consola; la fecha en cache de cuando se ejecutó por ultima vez; y una serie de archivos de configuración.
Puede encontrar plantillas de menú XML en
/etc/xdg/menus
.
Si cambia el código en
xdg_menu
} para alterar el diseño, asegúrese de eliminar todo en
~/.xdg_menu_cache
, o va a pasar horas tratando de descifrar porque no se aplican sus cambios en el script de Perl.
Puede encontrar los archivos de configuración individuales de las aplicaciones en
/usr/share/applications
.
Hay más carpetas con archivos de configuración en
/usr/share
. En la mayoría de los casos no necesitará tocar esos. Aunque sí quiere cambiar ligeramente el diseño de su menú, puede modificar la plantilla. Los cambios más drásticos requieren que cambie el script de Perl
xdg_menu
. Si encuentra que las aplicaciones no aparecen o que tienen nombres raros, tendrá que ver su archivo
.desktop
en
/usr/share/applications
. Vea la
especificación de entradas de escritorio
.
Añadiendo entradas de escritorio desde otros directorios
Por defecto, el Xdg-menu sera populado con las aplicaciones que instales sus entradas de escritorio en
/usr/share/applications
. Para añadir aplicaciones que instalan sus entradas de escritorio en una carpeta de usuario como
~/.local/share/applications
edite el archivo
/etc/xdg/menus/arch-applications.menu
y añada una etiqueta
<AppDir>
para el directorio deseado, como en lo siguiente:
/etc/xdg/menus/arch-applications.menu
<Menu>

  <Name>Applications</Name>
  <Directory>Arch-Applications.directory</Directory>
  <DefaultAppDirs/>
<AppDir>/home/
nombre-de-usuario
/.local/share/applications</AppDir>
<DefaultDirectoryDirs/>
  <DefaultMergeDirs/>
  ...
Uso
(en inglés)
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
actualiza los menús de los gestores de ventanas con los datos de XDG y puede hacerlo automáticamente configurándolo.
Es un wrapper de xdg_menu que depende de
/etc/update-menus.conf
Para usarlo, debe instalar el paquete
archlinux-xdg-menu
(xdg_menu)
En
/etc/update-menus.conf
debe seleccionar desde una lista de gestores de ventanas para los cuales quiere generar el menú. Puede poner comentarios con #.
Los menús son generados en
/var/cache/xdg-menu/
. Vea información especifica para varios gestores de ventanas en la sección
#Ejemplos
.
Ejemplos
Awesome
Con xdg_menu
$ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu > ~/.config/awesome/archmenu.lua
Y, edite su
rc.lua
como se muestra más abajo.
Añada una declaración
statment
para su nuevo archivo
menu.lua
.
Añada una entrada para su objeto
awful.menu
para su nuevo menú que invoca a
xdg-menu
.
...
xdg_menu = require("archmenu")
...

...
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                    { "Applications", xdgmenu },
                                    { "open terminal", terminal }
                                  }
                        })
...
IceWM
Con xdg_menu
$ xdg_menu --format icewm --fullmenu --root-menu /etc/xdg/menus/arch-applications.menu >> ~/.icewm/programs
Con update-menus
Descomente
icewm
en
/etc/update-menus.conf
.
Ejecute
update-menus
como root.
Enlace
/var/cache/xdg-menu/icewm/programs
a
~/.icewm/programs
.
FluxBox
Con xdg_menu
$ xdg_menu --format fluxbox --root-menu /etc/xdg/menus/arch-applications.menu > ~/.fluxbox/mi-menu
Cambie su archivo de menú para que incluya el menú generado.
Por ejemplo, añada la linea:
[include] (mi-menu)
Con update-menus
Descomente
fluxbox
en
/etc/update-menus.conf
.
Ejecute
update-menus
como root.
Cambie su archivo de menú para que incluya el menú generado.
Por ejemplo, añada la linea:
[include] (/var/cache/xdg-menu/fluxbox/boxrc)
OpenBox
Con xdg_menu
Genere el menú con:
$ xdg_menu --format openbox3 --root-menu /etc/xdg/menus/arch-applications.menu > xdg-menu.xml
Y añadalo manualmente a su
menu.xml
. Por ejemplo, agregue
xdg-menu.xml
en
menu.xml
y añada:
<menu id="Applications" />
En root-menu.
Como pipe menu
(menú de tubería)
Usar xdg_open como menú de tubería tiene el beneficio añadido de tener un menú que se actualiza automáticamente cuando se instalan aplicaciones nuevas.
Añada lo siguiente en alguna parte de su menu.xml entre las etiqueta de su menú raíz
(root menu)
:
<menu id="applications" label="Applications" execute="xdg_menu --format openbox3-pipe --root-menu /etc/xdg/menus/arch-applications.menu" />
Un ejemplo básico:
<?xml version="1.0" encoding="UTF-8"?>

<openbox_menu xmlns="http://openbox.org/3.4/menu">

<menu id="root-menu" label="Openbox 3">
  <menu id="applications" label="Applications" execute="xdg_menu --format openbox3-pipe --root-menu /etc/xdg/menus/arch-applications.menu" />
  <separator />
  <item label="Log Out">
    <action name="Exit">
      <prompt>yes</prompt>
    </action>
  </item>
</menu>

</openbox_menu>
Con update-menus
Descomente
openbox
en
/etc/update-menus.conf
.
Ejecute
update-menus
como root.
Cambie su archivo
menu.xml
para que incluya el menú generado.
Por ejemplo, añada lo siguiente a
root-menu
:
<menu id="xdg-menu" label="XDG Menu" execute="cat /var/cache/xdg-menu/openbox/menu.xml"/>
Twm
Con xdg_menu
Ejecute:
$ xdg_menu --format twm --root-menu /etc/xdg/menus/arch-applications.menu >menu-twm
Y añadalo manualmente a
twmrc
. En el caso de un derivado de twm con preprocesado m4 como vtwm o ctwm, puede ser incluido añadiendo:
sinclude(`/UBICACION/DE/SU/menu-twm')
A
*twmrc
.
Con update-menus
Descomente
twm
en
/etc/update-menus.conf
.
Añada a
/etc/X11/twm/system.twmrc
un archivo de menú de aplicaciones (añadalo en
defops menu
):
"apps"          f.menu "Applications"
Ejecute
update-menus
como root.
Ejecute
twm -f /var/cache/xdg-menu/twm/twmrc
.
Sugerencia
También puede querer añadir sus otras personalizaciones a
/etc/X11/twm/system.twmrc
.
WindowMaker
Con xdg_menu
Ejecute:
$ xdg_menu --format WindowMaker --root-menu /etc/xdg/menus/arch-applications.menu >mi-menu-wm
Y añada:
#include "mi-menu-wm"
En su archivo de menú de WindowMaker.
También puede usar «Application Menu Definitions» en WPrefs, y añadir el comando de xdg como parámetro en el objeto «Generated Submenu».
Con update-menus
Descomente
WindowMaker
en
/etc/update-menus.conf
.
Ejecute
update-menus
como root.
Añada:
#include "/var/cache/xdg-menu/WindowMaker/wmrc"
A su archivo de menú.
Fvwm2
Con xdg_menu
Genere el menú:
$ xdg_menu --format fvwm2 --root-menu /etc/xdg/menus/arch-applications.menu >fvwm2-menu
Y añada el menú en el menú raíz:
read fvwm2-menu

AddToMenu MenuFvwmRoot  "Root Menu"             Title
+                       "&0. XDG Menu"          Popup xdg_menu
Con update-menus
Descomente
fvwm2
en
/etc/update-menus.conf
.
Ejecute
update-menus
como root.
Cambie su archivo
.fvwm2rc
para que incluya el menú generado. Por ejemplo:
AddToMenu MenuFvwmRoot  "Root Menu"             Title
+                       "&0. XDG Menu"          Popup xdg_menu
read /var/cache/xdg-menu/fvwm2/fvwm2rc
BlackBox
Con xdg_menu
$ xdg_menu --format blackbox --root-menu /etc/xdg/menus/arch-applications.menu >mi-menu
Cambie su archivo de menú para que incluya el menú generado.
Por ejemplo, añada la linea:
[include] (mi-menu)
Con update-menus
Descomente
blackbox
en
/etc/update-menus.conf
.
Ejecute
update-menus
como root.
Cambie su archivo de menú para que incluya el menú generado.
Por ejemplo, añada la linea:
[include] (/var/cache/xdg-menu/blackbox/boxrc)
Véase también
Sawfish#Menus
https://github.com/gapan/xdgmenumaker