Changes between Initial Version and Version 1 of EditAppMenu


Ignore:
Timestamp:
Nov 20, 2019, 1:34:17 PM (5 years ago)
Author:
tonin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EditAppMenu

    v1 v1  
     1== Edición del menú de aplicaciones ==
     2
     3Los ficheros importantes aquí son:
     4- /usr/local/share/applications: Ficheros .desktop para cada aplicación. Especial mención al apartado Categories que marca donde saldrán en el menú.
     5- /usr/local/share/desktop-directories: Ficheros .directory, que se corresponden con cada carpeta o subcarpeta.
     6- /usr/local/etc/xdg/menus: Ficheros .menu que son la materialización del .directory en nuestro menú.
     7
     8Ejemplos:
     9
     10= .desktop =
     11{{{
     12[Desktop Entry]
     13Name=Arduino
     14Comment=Launcher for Arduino
     15Exec=/usr/local/opt/arduino/arduino-1.6.3/arduino
     16Icon=/usr/local/opt/arduino/arduino-1.6.3/reference/arduino.cc/img/logo_46.png
     17Categories=Application;Development;IDE;
     18Version=1.6.3
     19Type=Application
     20Terminal=true
     21}}}
     22= .directory =
     23{{{
     24[Desktop Entry]
     25Encoding=UTF-8
     26Name=Entornos de desarrollo (IDE)
     27}}}
     28= .menu =
     29{{{
     30<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
     31 "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
     32<Menu>
     33        <Name>Ides</Name>
     34        <Directory>Ides.directory</Directory>
     35        <Include>
     36         <And>
     37          <Category>IDE</Category>
     38         </And>
     39        </Include>
     40</Menu>
     41}}}
     42
     43Por ejemplo, en el caso de arduino.desktop, como lleva IDE en el category sale en ese menú que hemos creado.
     44
     45Para que un menú se presente como submenú de otro, debe estar en el XML del padre referenciado, tal que así:
     46{{{
     47  <!-- Development Tools -->
     48  <Menu>
     49    <Name>Development</Name>
     50    <Directory>Development.directory</Directory>
     51    <Include>
     52      <And>
     53        <Category>Development</Category>
     54      </And>
     55      <Filename>emacs.desktop</Filename>
     56    </Include>
     57
     58    <Menu>
     59       <Name>Matlab</Name>
     60       <Directory>Matlab.directory</Directory>
     61       <MergeFile>Matlab.menu</MergeFile>
     62    </Menu>
     63    <Menu>
     64       <Name>Entorno de desarrollo (IDE)</Name>
     65       <Directory>Ides.directory</Directory>
     66       <MergeFile>Ides.menu</MergeFile>
     67    </Menu>
     68
     69  </Menu> <!-- End Development Tools -->
     70}}}
     71
     72Este cacho de fchero es de applications.menu, que está en el sitio de los .menu. Este fichero es monolítico, pero realmente se podría descomponer en otros más pequeños que se correspondieran con las entradas principales del menú, como "Development", "Office", etc. usando el tag <include> para incluirlos tal como se hace en [https://developer.gnome.org/menu-spec/ este] documento de freedesktop (Utiliza el tag ''Filename'').