en Software

Iniciar una Aplicación en otro Escritorio

Una de las mejoras en los gestores de ventanas de distribuciones Linux con respecto a Windows es que el escritorio consta de varias áreas de trabajo [aunque hay aplicaciones que lo simulan para el SO de Microsoft]. Es como si tuvieras varios escritorios independientes para organizar tus ventanas.

El otro día se me ocurrió la idea de que no estaría mal que, por ejemplo, cuando lanzase el lector de correo, se abriera en un área de trabajo específica. Así, podría estar ejecutándose en «segundo plano» abierto permanentemente sin molestarme.

Busqué en la documentación de Gnome, el escritorio que viene por defecto en la distribución Ubuntu, y me sorprendió bastante que esta opción no venga implementada por defecto en el gestor. Me parecía algo básico.
Pero navegando encontré la alternativa para hacer funcionar esto. Y es gracias a la aplicación Devil’s Pie.

Devil’s Pie lo que te ofrece es un mayor control sobre el comportamiento de tus ventanas. Para ello, analiza las ventanas que se van creando en el escritorio y, basándose en archivos de configuración, ejecuta acciones sobre ella: moverla, minimizarla o maximizarla, redimensionarla, enviarla a otra área de trabajo, ocultar su decoración…

La configuración de Devil’s Pie se realiza mediante archivos con extensión *.ds y que se almacenan en la carpeta $HOME/.devilspie. Estos archivos de texto los editamos a nuestro gusto usando una nomenclatura específica. En foosel.org dispones de un tutorial [en inglés] muy completo.

Voy a comentar los pasos de como sería la instalación y uso del programa:

  1. Antes de instalar Devil’s Pie, hay que asegurarse que los siguientes paquetes están instalados: libwnck-dev libglib2.0-dev [usando el Synaptic]… En caso de no tenerlos, ejecutamos en un terminal:
    sudo apt-get install libwnck-dev libglib2.0-dev
  2. Una vez instalados los paquetes anteriores ejecutamos la instalación del programa:
    sudo apt-get install devilspie
  3. Ahora crearemos en nuestra carpeta home el directorio en el que se almacenarán los archivos de configuración:
    mkdir ~/.devilspie
  4. Vamos a crear nuestro primer archivo de configuración en esa carpeta. Para ello, abrimos un editor de texto y escribimos lo siguiente:

    (if
    ( is (application_name) "Firefox" )
    (begin
    (set_workspace 2)
    (maximize)
    )
    )

    Guardamos el archivo en ~/.devilspie con el nombre de firefox.ds.
  5. Ejecutamos en un terminal:
    devilspie &
    Y probamos a ejecutar el Firefox. Se debería abrir en el área de trabajo número 2.
    NOTA: estoy utilizando la instrucción por defecto set_workspace. En mi PC tuve que sustituir esta llamada por set_viewport debido al uso de compiz.
  6. Cerramos el Firefox y en el terminal pulsamos Ctrl+C para finalizar la ejecución de devilspie.
  7. A partir de aquí es todo trabajar los archivos de configuración para dejar las ventanas a nuestro gusto. Si quieres crear un archivo de configuración de una aplicación en concreto te recomiendo hacer lo siguiente:
    En un archivo *.ds escribe (debug).
    Abre la aplicación que quieras configurar.
    Ahora en un terminal vuelve a ejecutar la llamada a devilspie. Obtendrás algo similar a:

    Window Title: \’Escritorio\’; Application Name: \’Administrador de archivos\’; Class: \’Nautilus\’; Geometry: 1280×800+0+0
    Window Title: \’Top Panel\’; Application Name: \’Top Panel\’; Class: \’Gnome-panel\’; Geometry: 1280×25+0+0
    Window Title: \’Bottom Panel\’; Application Name: \’Bottom Panel\’; Class: \’Gnome-panel\’; Geometry: 1280×25+0+775

    Con esta información podrás obtener los nombres de las aplicaciones para usar en los archivos.

Finalmente comentar que hay que dar de alta Devil’s Pie en las Sesiones del sistema para que se ejecute automáticamente al arrancar el equipo. Para ello vamos a Sistema -> Preferencias -> Sesiones. Pulsamos en «Añadir» y creamos un nuevo programa de inicio, con nombre Devil’s Pie y comando devilspie.