Como editar los menus de XFCE en Archlinux
Como Introducción:
Al instalar Xfce 4.6.2 en Archlinux puede aparecer la necesidad de modificar el menú de aplicaciones, esto para personalizar o poner algunas aplicaciones mas a mano, luego de ver la forma de hacerlo pude solucionar mi problema.
Algo de teoría:
El menú de Xfce trabaja siguiendo los conceptos de gtk, por lo que el formato es similar, es decir hay un menú principal que llama a los submenús o bien posee los accesos a los programas que necesitamos. La idea aquí es ver como modificar estos archivos para que el menú cumpla con nuestras expectativas.
Las operaciones básicas que podemos hacer en la edición son mover aplicaciones, borrarlas, editarlas, ocultarlas.
El menú de aplicaciones general esta en /usr/xdg/menus/xfce-applications.menu, la definición de directorios esta en /usr/share/desktop-directories y la definición de cada aplicación está en /usr/share/applications.
Veamos:
Hay una utilidad llamada exo-desktop-item-edit que permite crear o editar una aplicación, pero la gestión de donde ubicarla y demás, la hice a mano.
Supongamos que quiero editar una aplicación, simplemente voy a /usr/share/applications, busco la aplicación y edito la entrada, por ejemplo mplayer.desktop, para el reproductor multimedia mplayer:
[Desktop Entry]
Type=Application
Name=MPlayer Media Player
Name[ca]=Reproductor multimèdia MPlayer
GenericName=Multimedia player
Comment=Play movies and songs
Icon=mplayer
TryExec=mplayer
Exec=mplayer %F
Terminal=false
NoDisplay=true
Categories=GTK;AudioVideo;Audio;Video;Player;TV;
MimeType=-----
En esta entrada tenemos varias características, luego de las descripciones, donde dice Type, Name, GenericName, Comment, Icon y Exec vemos las opciones específicas, por ejemplo Terminal, esta indica que si debe usar la aplicación abriendo una terminal primero, se abre la indicada por defecto de nuestro sistema, en este caso no lo hace. Luego viene una muy interesante, que es NoDisplay, esta indica si se muestra o no en el menú , puede estar en true o false de acuerdo a lo queramos, en este caso no se muestra. Hay una que se llama OnlyShowIn, esta permite mostrar la aplicación solo en un entorno gráfico que queramos, por ejemplo la línea para xfce sería: OnlyShowIn=XFCE;. Notese el ; al final de la línea.
Hay otra que es Categories, esta define en que submenú deseamos que se muestre la aplicación que tenemos, por ejemplo en este caso será en el menú Multimedia, sea en Gnome como el xfce.
Hay una que aparece en algunas aplicaciones que es StartupNotify que puede ser true o false.
La edición de las opciones de esta aplicación se hace sobre este archivo, el mplayer.desktop, si hemos modificado algo y queremos que se muestre sin reiniciar el xfce ponemos en consola:
xfdesktop --reload
Si deseo modificar el menú de manera tal que la aplicación se muestre en algún lugar en especial, por ejemplo en la parte de acceso rápido, debemos editar el archivo de menú de nuestro sistema, en /etc/xdg/menus/xfce-aplications.menu y agregar las aplicaciones que necesitamos, y editar el archivo desktop de cada aplicación para que el sistema tome el cambio, luego reiniciar en xfdesktop como hicimos mas arriba. Supongamos que quiero poner el firefox en el menú de acceso rápido:
El /etc/xdg/menus/xfce-applications.menu tiene un formato simple, se compone de dos partes una parte que es la definición de los menús en general y la otra que llama a los submenús en particular, en nuestro caso solo trabajo en la parte en general, ya que la idea es agregar allí algunas aplicaciones. Es decir esta parte:
<Layout>
<Filename>xfce4-run-program.desktop</Filename>
<Separator/>
<Filename>xfce4-terminal.desktop</Filename>
<Filename>xfce4-file-manager.desktop</Filename>
<Filename>firefox.desktop</Filename>
<Filename>thunderbird.desktop</Filename>
<Filename>wammu.desktop</Filename>
<Filename>chromium.desktop</Filename>
<Separator/>
<Menuname>Settings</Menuname>
<Separator/>
<Merge type="all"/>
<Separator/>
<Filename>xfce4-web-browser.desktop</Filename>
<Filename>xfce4-help.desktop</Filename>
<Filename>xfce4-logout.desktop</Filename>
</Layout>
Como se ve se divide el menú en cinco partes, que se indica por el <Separator/>, en la primer parte se indica la aplicación de "Ejecutar aplicación" (xfrun), luego los accesos a las aplicaciones mas usadas , luego el submenú de Configuraciones, luego el resto de submenús del sistema, luego las aplicaciones de información del sistema.
El que nos interesa modificar es la segunda parte, de accesos rápidos a las aplicaciones.
En esta parte del menú se agrega la indicación de que la aplicación se muestre en este menú, por ejemplo el Firefox será:
<Filename>firefox.desktop</Filename>
Si aquí actualizamos el menú con el xfdesktop --reload veremos que no aparece, porque necesitamos modificar la línea del firefox.desktop que indica donde ponerlos, donde decía Categories, en este punto debemos indicarle que va fuera del menú de Red, es decir la línea podemos dejarla:
Categories=X-XFCE;X-Xfce-Toplevel;
notese el ; al final, luego podemos actualizar el menú con xfdesktop --reload. Aquí deberemos ver la aplicación donde deseamos. Otra opción aquí sería si deseamos que la aplicación se vea en el menú rápido y en el menú que corresponde, en este caso agregamos lo de X-Xfce-Toplevel a la línea Categories y quedaría:
Categories=X-XFCE;X-Xfce-Toplevel;Utility;TelephonyTools;GTK;
Es el caso de wammu, una utilidad para gestionar sms y demás, en teléfonos móviles o en módems 3G que puse allí para cuando me conecto con el módem de Movistar.
El Chromium, browser de Google, la indiqué:
Categories=X-XFCE;X-Xfce-Toplevel;Application;Network;WebBrowser;
Recordar que para que os cambios se apliquen debemos reiniciar el xfdesktop o bien el xfce.
Este menú modificado no solo se muestra en el panel, sino que además en el menú que aparece haciendo clic derecho sobre el escritorio, dentro del menú Aplicaciones.
Espero que sirva.
Como Introducción:
Al instalar Xfce 4.6.2 en Archlinux puede aparecer la necesidad de modificar el menú de aplicaciones, esto para personalizar o poner algunas aplicaciones mas a mano, luego de ver la forma de hacerlo pude solucionar mi problema.
Algo de teoría:
El menú de Xfce trabaja siguiendo los conceptos de gtk, por lo que el formato es similar, es decir hay un menú principal que llama a los submenús o bien posee los accesos a los programas que necesitamos. La idea aquí es ver como modificar estos archivos para que el menú cumpla con nuestras expectativas.
Las operaciones básicas que podemos hacer en la edición son mover aplicaciones, borrarlas, editarlas, ocultarlas.
El menú de aplicaciones general esta en /usr/xdg/menus/xfce-applications.menu, la definición de directorios esta en /usr/share/desktop-directories y la definición de cada aplicación está en /usr/share/applications.
Veamos:
Hay una utilidad llamada exo-desktop-item-edit que permite crear o editar una aplicación, pero la gestión de donde ubicarla y demás, la hice a mano.
Supongamos que quiero editar una aplicación, simplemente voy a /usr/share/applications, busco la aplicación y edito la entrada, por ejemplo mplayer.desktop, para el reproductor multimedia mplayer:
[Desktop Entry]
Type=Application
Name=MPlayer Media Player
Name[ca]=Reproductor multimèdia MPlayer
GenericName=Multimedia player
Comment=Play movies and songs
Icon=mplayer
TryExec=mplayer
Exec=mplayer %F
Terminal=false
NoDisplay=true
Categories=GTK;AudioVideo;Audio;Video;Player;TV;
MimeType=-----
En esta entrada tenemos varias características, luego de las descripciones, donde dice Type, Name, GenericName, Comment, Icon y Exec vemos las opciones específicas, por ejemplo Terminal, esta indica que si debe usar la aplicación abriendo una terminal primero, se abre la indicada por defecto de nuestro sistema, en este caso no lo hace. Luego viene una muy interesante, que es NoDisplay, esta indica si se muestra o no en el menú , puede estar en true o false de acuerdo a lo queramos, en este caso no se muestra. Hay una que se llama OnlyShowIn, esta permite mostrar la aplicación solo en un entorno gráfico que queramos, por ejemplo la línea para xfce sería: OnlyShowIn=XFCE;. Notese el ; al final de la línea.
Hay otra que es Categories, esta define en que submenú deseamos que se muestre la aplicación que tenemos, por ejemplo en este caso será en el menú Multimedia, sea en Gnome como el xfce.
Hay una que aparece en algunas aplicaciones que es StartupNotify que puede ser true o false.
La edición de las opciones de esta aplicación se hace sobre este archivo, el mplayer.desktop, si hemos modificado algo y queremos que se muestre sin reiniciar el xfce ponemos en consola:
xfdesktop --reload
Si deseo modificar el menú de manera tal que la aplicación se muestre en algún lugar en especial, por ejemplo en la parte de acceso rápido, debemos editar el archivo de menú de nuestro sistema, en /etc/xdg/menus/xfce-aplications.menu y agregar las aplicaciones que necesitamos, y editar el archivo desktop de cada aplicación para que el sistema tome el cambio, luego reiniciar en xfdesktop como hicimos mas arriba. Supongamos que quiero poner el firefox en el menú de acceso rápido:
El /etc/xdg/menus/xfce-applications.menu tiene un formato simple, se compone de dos partes una parte que es la definición de los menús en general y la otra que llama a los submenús en particular, en nuestro caso solo trabajo en la parte en general, ya que la idea es agregar allí algunas aplicaciones. Es decir esta parte:
<Layout>
<Filename>xfce4-run-program.desktop</Filename>
<Separator/>
<Filename>xfce4-terminal.desktop</Filename>
<Filename>xfce4-file-manager.desktop</Filename>
<Filename>firefox.desktop</Filename>
<Filename>thunderbird.desktop</Filename>
<Filename>wammu.desktop</Filename>
<Filename>chromium.desktop</Filename>
<Separator/>
<Menuname>Settings</Menuname>
<Separator/>
<Merge type="all"/>
<Separator/>
<Filename>xfce4-web-browser.desktop</Filename>
<Filename>xfce4-help.desktop</Filename>
<Filename>xfce4-logout.desktop</Filename>
</Layout>
Como se ve se divide el menú en cinco partes, que se indica por el <Separator/>, en la primer parte se indica la aplicación de "Ejecutar aplicación" (xfrun), luego los accesos a las aplicaciones mas usadas , luego el submenú de Configuraciones, luego el resto de submenús del sistema, luego las aplicaciones de información del sistema.
El que nos interesa modificar es la segunda parte, de accesos rápidos a las aplicaciones.
En esta parte del menú se agrega la indicación de que la aplicación se muestre en este menú, por ejemplo el Firefox será:
<Filename>firefox.desktop</Filename>
Si aquí actualizamos el menú con el xfdesktop --reload veremos que no aparece, porque necesitamos modificar la línea del firefox.desktop que indica donde ponerlos, donde decía Categories, en este punto debemos indicarle que va fuera del menú de Red, es decir la línea podemos dejarla:
Categories=X-XFCE;X-Xfce-Toplevel;
notese el ; al final, luego podemos actualizar el menú con xfdesktop --reload. Aquí deberemos ver la aplicación donde deseamos. Otra opción aquí sería si deseamos que la aplicación se vea en el menú rápido y en el menú que corresponde, en este caso agregamos lo de X-Xfce-Toplevel a la línea Categories y quedaría:
Categories=X-XFCE;X-Xfce-Toplevel;Utility;TelephonyTools;GTK;
Es el caso de wammu, una utilidad para gestionar sms y demás, en teléfonos móviles o en módems 3G que puse allí para cuando me conecto con el módem de Movistar.
El Chromium, browser de Google, la indiqué:
Categories=X-XFCE;X-Xfce-Toplevel;Application;Network;WebBrowser;
Recordar que para que os cambios se apliquen debemos reiniciar el xfdesktop o bien el xfce.
Este menú modificado no solo se muestra en el panel, sino que además en el menú que aparece haciendo clic derecho sobre el escritorio, dentro del menú Aplicaciones.
Espero que sirva.