Creando Accesos Directos (Avanzado)

por | 1 septiembre, 2008

Hola, ayer por la tarde Albertjh y yo estuvimos creando un paquete debianizado para él y nos surgió la duda de cómo crear un directorio de acceso directo compuesto a la vez de diferentes accesos directos a distintas aplicaciones. Es decir, supongamos que queremos en Aplicaciones crear un directorio nuevo que no sea los que vienen por defecto en Gnome, y el cual posea unos cuantos accesos directos más anidados. Algo parecido a lo que nos sale con el menú de Wine.

Ya se que esto es muy fácil de hacer con Alacarte, pero el problema es cómo hacerlo para que alguien que instale un determinado programa se le instale este menú sin tener que hacerlo él mismo con Alacarte. Veámoslo mediante un sencillo ejemplo.

Supongamos que tenemos un programa, llamémosle Programita1, al cual le queremos poner 3 accesos directos, uno al ejecutable de dicho programa, otro a su web oficial y otro a sus apuntes en PDF.

Supondremos que para acceder a estos 3 accesos directos se ejecutarán mediante las siguientes rutas:

  1. Programita1->/usr/bin/programita1
  2. Web->/usr/share/doc/Programita1/Html/index.html
  3. PDF->/usr/share/doc/Programita1/PDF/tuto.pdf

Vale pues, ya conocemos las rutas necesarias. Ahora lo primero será crearnos el directorio o acceso padre a los 3, para ello lo crearemos con un editor de textos y de extensión .directory. En nuestro caso le llamaremos programita1.directory y su contenido será:

[Desktop Entry]
Type=Directory
Name=Programita1
Icon=/usr/share/pixmaps/programita1.gif

No creo que necesite mayor explicación sobre dichas líneas, ¿no? Bueno dicho fichero lo guardaremos en la ruta /usr/share/desktop-directories Ala ya tenemos una cosa hecha :D  Vamos a crearnos los tres accesos directos que contendrá este directorio padre o menú padre. Ello es muy sencillo, por cada acceso directo crearemos con un editor de textos un fichero con extensión .desktop. Por ejemplo, para el de la web, podemos llamarle progr1web.desktop, y de contenido:

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Web De Programita1

Name[es_ES]=Web De Programita1

Comment=Acceso Directo a la web oficial
Exec=/usr/share/doc/Programita1/Html/index.html
Icon=/usr/share/pixmaps/Progr1Web.gif
Type=Application
Categories=Application;Programita1
Terminal=false
StartupNotify=true

Y lo guardaremos con nombre programita1web.desktop en la ruta /usr/share/applications. De un modo similar haremos con los otros dos accesos directos. Podéis leer más de cómo montarlos PINCHANDO AQUI

Bien, hasta aquí debería funcionar, pero no es así; nos falta un poquito más. Nos falta crear un fichero de tipo menú, así que su extensión será .menu (sin acento), lo pondremos en la ruta /etc/xdg/menus/applications-merged/ Le llamaremos, por ejemplo; programita1.menu. Lo crearemos o editaremos con un editor de textos y su estructura o contenido será la siguiente:

<!DOCTYPE Menu PUBLIC “-//freedesktop//DTD Menu 1.0//EN”
“http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd”>
<Menu>
<Name>Applications</Name>
<Menu>
<Name>Programita1</Name>
<Directory>programita1.directory</Directory>
<Include>
<Category>Programita1</Category>
</Include>
</Menu>
</Menu>

Bueno, la estructura del fichero es muy sencilla, y se trata de nombrar el camino de nuestro nuevo submenú, que se encuentra dentro de Applications, por eso la anidación que véis, si queremos meterle un nuevo submenú dentro de Programita1, bastará con anidarlo dentro de éste.
Y con esto ya lo tendríamos todo hecho. Os pongo una imagen de lo que se persigue hacer, ahí veréis el nuevo menú que estuvimos creando albertjh y yo con sus correspondientes menús para su programa debianizado

Pantallazo

Saludos :-h

4 pensamientos en “Creando Accesos Directos (Avanzado)

  1. Pingback: DiaRio De Un LiNuX3Ro » Al fin, ¡Libre!

  2. Cristobal

    Ni que lo digas, casi lo mandamos a tomar por culo, menos mal que me di cuenta de lo del .menu ese.
    Al final lo hicimos y ha quedado puta madre

  3. albertjh

    Ya te digo, más feliz que una perdiz >:D<

    Ahora a hacer miles de programas, ya lo estoy viendo =P~ =P~ =P~

Los comentarios están cerrados.