Bueno , se que este tipo de cosas no importan mucho , pero como es algo interesante y aplicacble a otros linux/escritorios , pues lo voy a explicar un poco por encima.
Muchos habreis visto que tras alguna actualizacion de sistema , el menu de aplicaciones se rompia y todo quedaba en "objetos perdidos"
¿por que sucede esto?
Sucede por que para customizar el menu de aplicaciones y añadir secciones/catgorias y hacer ajustes de tipo ..esta app que no aparezca en esta seccion pero si en la otra que nos gusta mas..etc etc , se venia modificando el fichero menu "principal" ..que se aloja en
Escritorio KDE/etc/kde/xdg/menus/applications.menu
Se cogia el menu principal y se trabaja ese fichero haciendo las modificaciones oportumas ... pero si por algun motivo , lleva una actualizacion del paquete
"kdelibs" , dicho fichero era sobreescrito ...y el menu volvia a ser el basico inicial de kde , haciendonos perder todas las secciones que se añaden para customizar el sistema.
Entendiendo que el menu es un fichero del paquete kdelibs , y que si se actualizase volveria a ser "plano" ..ahora parece sencillo entender por que se rompia, ¿verdad?
OK ... ¿y como vas a evitar que eso pase de nuevo?Bien , lo explicare de forma breve y sencilla ... existe una forma "correcta" y "elegante" , de añadir secciones y modificaciones al menu , sin
*MALTRATAR el menu base , esto seria añadiendo ficheros *.menu en la ruta
/etc/xdg/menus/applications-merged/
En esa ruta puedes añadir menus , que se añadiran automaticamente al menu inicial sin necesidad de tocar el fichero original.
Por ejemplo ... como hacemos para que en el menu , la seccion "wifislax" , este arriba del todo ..la primera , por encima del resto ..pues asi
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Layout>
<Merge type="menus"/>
<Menuname>Wifislax</Menuname>
<Menuname>Actualizadores</Menuname>
<Menuname>Development</Menuname>
<Menuname>Education</Menuname>
<Menuname>wine-wine</Menuname>
<Menuname>Games</Menuname>
<Menuname>Graphics</Menuname>
<Menuname>Internet</Menuname>
<Menuname>Multimedia</Menuname>
<Menuname>Office</Menuname>
<Menuname>Science</Menuname>
<Menuname>System</Menuname>
<Menuname>Utilities</Menuname>
<Menuname>Applications</Menuname>
<Merge type="files"/>
<Filename>kde4-kfind.desktop</Filename>
</Layout>
<Menu>
<Name>Settingsmenu</Name>
<Deleted/>
</Menu>
</Menu>
Fijaros en los "menuname" ..como estan ordenados ... , si no hacemos eso , por defecto se ordenarian en orden alfabetico

Ahora desde wifislax64-1.1-rc4 , esa parte sera un unico fichero .menu llamado
Orden.menu
Alojado en la ruta anteriormente comentada
/etc/xdg/menus/applications-merged/
Sin necesidad de tocar el menu original principal

Otro ejemplo , con otra modificacion "leve" , okular , es una app del escritorio kde, la cual aparece en "oficina" ,pero ,,, solo aparece esa con nuestra eleccion de apps por defecto para wifislax, y me parecia un poco trite ya que ademas okular , para abrir ficheros pdf o de otro tipo , ni es siquiera llamada desde el menu ya que al intentar abrir un pdf , automaticamente se abre en okular , esto me hacia pensar que la entrada al menu era innecesaria en principio y hacia "triste" una seccion entera con una solo app , asi que por ndefecto se ocualta en el menu.
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Menu>
<Name>Office</Name>
<Directory>kde-office.directory</Directory>
<Include>
<And>
<Category>Office</Category>
<Not><Category>X-KDE-More</Category></Not>
</And>
</Include>
<Exclude>
<Filename>kde4-okular.desktop</Filename>
</Exclude>
</Menu>
</Menu>
Fijaros al final el exclude y el filename ..
esa pequeña modificacion esta en un solo fichero unico de tipo .menu
y asi con todo ... se entiende ahora entonces que haciendolo asi, es imposible romper de nuevo el menu ya que aunque el menu principal fuese sobreescrito en una actualizacion , muestras modificaciones estaran a salvo en el directorio "merged"
He mostrado dos modificaciones paqueñas , añadir toda una nueva seccion con sus subcategorias es algo mas tedioso , pero una vez hecho , sera permanente.
COMOCIMIENTO EXTRAComo funciona el tema este de customizar menus ..que se necesita.
Pues basicamente esto funciona asi ...
1 - Aplicacion con fichero *.desktop tiene el valor
Categories=
Donde se pone la categoria o categorias si queremos que aparezca en mas de una.
Por ejemplo , wpamagickey , tiene categoria "cifrados"
Para que dicha entrada de menu aparezca , se necesitara que "exista" , la categoria cifrados que es un fichero de tipo *.directory , el cual crea el directorio (categoria) para albercar las aplicaciones que llamen a esa categoria/seccion.
Los ficheros directori estan en
/usr/share/desktop-directories/
y por ultimo necesitariamos que nuetsro menu reconociese dicha categoria , para que al ser llamada por algun desktop ,esta categoria fuese ordenada en nuestro menu.
Resumido.
desktop llama a --> directori y directori --> sera ordenado por menu
wpamagickey.desktop --> cifrados.directory --> menu que reconozca ese directory ..si no apareceria como objeto perdido.
Por eso al destruir el menu "custom" que contiene "cifrados" que es seccion custom ... todos los desktops que busquen entrar en cifrados se marcharian a "perdidos" ..al no tener el fichero .menu , constancia de dicha categoria de aplicaciones.

Es tocho , es aburrido , pero ... hay os lo dejo.
