MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Tener un escritorio ordenado
He descubierto una aplicación que facilita a la gente como yo, que abre muchas aplicaciones, a tener cada cosa en su sitio.

La aplicación en cuestión se llama devilspie y es un añadido al gestor de ventanas metacity que usa gnome.

Este programa se lanza en modo demonio al inicio de la sesión y permite (con un archivo de configuración xml) ubicar cada aplicación o ventana en un escritorio predeterminado. Por ejemplo, yo me suelo abrir evolution, firefox, beep-media-player, una o varias gnome-terminal y gaim. He configurado devilspie para que las ventanas de evolution residan siempre en el escritorio 4, firefox en el 3, gaim en el 2 y el resto en el 1.

De esta forma si alguien me abre una conversación en gaim se que se abrirá en el espacio 2 y no tendré un montón de ventanas solapadas. Devilspie permite además ajustar el tamaño u ocultar la aplicación para que no salga en la barra de tareas.

Forma de instalarlo:

# apt-get install devilspie

Copiamos el ejemplo de configuración:

$ cp /usr/share/doc/devilspie/examples/sample-config.xml ~/.devilspie.xml

Y lo editamos:

$ gedit ~/.devilspie.xml

Veremos alguna aplicación de ejemplo, básicamente añadiremos un bloque como este por cada aplicación a controlar:

  <!--
This will put all Gaim on the 2 workspace.
Note that the workspace number is a 1-based index, not a
0-based index.
-->
<flurb>
<matchers>
<matcher name="DevilsPieMatcherWindowName">
<property name="application_name" value="gaim"/>
</matcher>
</matchers>
<actions>
<action name="DevilsPieActionSetWorkspace">
<property name="workspace_index" value="2"/>
</action>
<action name="DevilsPieActionHide">
<property name="skip_tasklist" value="FALSE"/>
</action>
</actions>
</flurb>
Duplicaremos este bloque tantas veces como necesitemos cambiando si procede los cambos que puse en negrita, es decir, el nombre de la aplicación el número de espacio de trabajo (por defecto desde 1 hasta 4) y si no queremos (o si) que aparezca en la lista de aplicaciones.

Para firefox el application_name es firefox-bin, para evolution es evolution-2.2, etc... Si añades un bloque y no funciona correctamente lanza devilspie -a y mira el log que sale por consola para saber el nombre de la aplicación.

Una vez que lo tengamos todo a nuestro gusto y hayamos probado que funciona lo añadimos al gestor de inicio de sessiones: Escritorio --> Preferencias --> Sessiones, pestaña (solapa) de Programas al Inicio, y picamos en Añadir. Como nombre de ejecutable ponemos devilspie -a y como órden por ejemplo 90.

Si no queremos reiniciar la sesión para probar que funciona podemos lanzar con Aplicaciones --> Ejecutar aplicación el comando devilspie -a. La próxima vez que entremos en gnome no hará falta.

Para terminar me gustaría añadir que estoy probando beagle y a pesar de «rascar» mucho el disco duro, es una aplicación maravillosa. La nueva versión 0.1.1 incorpora un plugin para firefox y soporte para aplicaciones no gnome (como kmail o kopete). Indexa en tiempo real las páginas que visitamos y si algún día nos da por buscar algo que vimos podemos usar best para encontrar la url o un mini servidor web ASP.NET lanzado en el puerto 8888 de localhost: http://localhost:8888/beagle/search.aspx

Sigue soportando (las versiones anteriores lo hacían) indexar los correos de evolution y las conversaciones de gaim además de todos los directorios o archivos locales de nuestro directorio de usuario o los directorios que le digamos. El paquete nuevo aún no está en los repositorios de debian, lo he empaquetado y está en http://idefix.eup.uva.es/paquetes requiere la última versión de libgmime2.1 (debian unstable hoy) y librerías de mono gráficas (gtk2-sharp, libgnome-cil, etc...) Si usas unstable no hay problema, si usas testing deberás mezclar repositorios y configurar el apt-pining