El otro día Christian me preguntó si sabía como hacer justamente lo mismo, así que me pareció una buena idea para realizar un tutorial (y de paso, de una vez por todas terminar con mi batalla con las áreas de trabajo). Luego de la introducción, comencemos…
Curiosamente, Gnome no viene con alguna configuración realizar nuestro objetivo, así pues tendremos que recurrir a una aplicación de terceros:Devil’s Pie que será la que nos va a hacer la pega.
1.Instalar Devil’s Pie
Personalmente, prefiero usar la terminal, si también lo prefieres sigue esto y pasa al punto 2. Si no, omítelo y sigue leyendo.
~$ sudo apt-get install devilspie
~$ mkdir .devilspie
~$ gedit liferea.ds
Nos vamos a Synaptic, nuestra aplicación para instalar programas, (Sistema –> Administración –> Gestor de Paquetes Synaptic), pulsamos el botón “buscar” e ingresamos “devilspie”.

2.Configurando Devil’s Pie
Devil’s Pie funciona con archivos de configuración (de extensión .ds), que son los que efectuarán nuestro objetivo. Lo primero que haremos será crear un directorio para Devil’s Pie en nuestra carpeta personal.
- Entramos a la carpeta personal (Lugares –> Carpeta Personal)
- Botón derecho –> “Crear una carpeta” –> la nombramos: .devilspie
OJO: Recordar que las carpetas que comienzan con puntos (“.”), son carpetas ocultas, así que puede que luego de crearla desaparezca. Para verla nuevamente podemos:
- Usar la combinación de teclas “Ctrl + H” ó,
- Menú Ver –> Mostrar los archivos ocultos
En este momento es donde todo se torna gris. Las opciones de Devil’s Pie son muchas y eso es su principal problema, hay que estudiar sus funciones para ocuparlo al máximo. Básicamente su función consiste en tomar ventanas, cambiarlas de tamaño, minimizarlas, maximizarlas y lo que más me importa… que apenas aparezcan sean enviadas a otro escritorio.
Vamos a poner un ejemplo, supongamos que quiero que cada vez que se abra Liferea (un lector de Feeds), éste se mueva al segundo escritorio.
- Ingresamos a la carpeta que acabamos de crear (/home/.devilspie)
- Creamos un archivo vacío, en mi ejemplo con el nombre liferea.ds (botón derecho –> Crear documento –> Archivo vacío.
- Lo abrimos y escribimos lo siguiente:
(if (is (application_name) "Liferea") (set_workspace 2) )
Si utilizamos Compiz tenemos que hacer unos pequeños cambios… (en Compiz no existen workspaces, se llaman viewports)
(if
(is (application_name) "Liferea")
(begin
(set_viewport 2)
(maximize)
)
)
El cambio consiste en cambiar el
set_workspaceporset_viewport. Le agregué la función maximize, porque cuando utilizo Compiz las aplicaciones tienen la mala de costumbre de quedar en ventanas más grandes que el viewport y se ven desde el otro.
Lo que hicimos fue decirle a devilspie que cada vez que se aparezca una ventana usando el application_name “Liferea”, lo mueva al escritorio 2. ¿Sencillo verdad?.
OJO: Una regla por archivo.
Las funciones más comunes que podemos usar son:
is:: Es un “igual”, en el ejemplo anteriorapplication_namees igual (is) a “Liferea”begin: se usa para comenzar una serie de funcionesapplication_name: El nombre de la aplicaciónset_workspace #: Donde #, es el número de escritorio al que queremos mandar la ventanaset_viewport #: Donde #, es el número de viewport al que queremos mandar la ventana (OJO: Reemplaza a workspace en caso de utilizar Compiz)pin: Muestra la ventana en todos los escritoriosminimize: Minimiza la ventanamaximize: Maximiza la ventanaclose: Cierra la ventanageometry: Especifica la posición + tamaño de la ventanawindow_name: Devuelve el valor de la ventana
De todas formas, la página man, de devilspie, trae muchas más funciones, entre ellas algunas para que la venta quede en “siempre mostrar”, que no aparezca en la barra de tareas, (la que está abajo) entre otras.
Voy a poner un último ejemplo con un caso más complejo. Supongamos que quiero hacer que cada vez que se abra Pidgin su ventana sea más grande que las por defecto, además de dejarlo en una posición fija, justo en la mitad de la pantalla (cosa que no puedas ver nada) y que se muestre en todos los escritorios (la verdad no se me puede ocurrir porque podrías querer hacer algo así, pero sirve de ejemplo).
- Creamos un archivo que se llame pidgin.ds y escribimos el siguiente código
(if
(is (application_name) "Pidgin")
(begin
(pin)
(geometry "510x468+393+165")
)
)
Y voilá tenemos un Pidgin absolutamente molestoso que cada vez que aparece su ventana no nos permite seguir trabajando.
TIP: Para poder ver la geometría puedes usar el comando
xwininfodesde una terminal y luego hacer click en la ventana que quieres saber sus coordenadas.
3.Habilitándolo
Para que todas estas maravillas funcionen, tenemos que estar corriendo Devil’s Pie, la forma más sencilla de hacerlo será configurándolo para que se inicie al comienzo de la sesión.
- Sistema –> Preferencia –> Sesiones
- Pulsamos “Añadir”
- En nombre ponemos algo que describa, por ejemplo, Devil’s Pie
- En comando: devilspie
- En descripción, lo que quieras
Listo, Devil’s Pie se cargará automágicamente en el próximo inicio de sesión.
4.Palabras finales
Por último, (y con esto si que termino, en serio). Para ver como Devil’s Pie reconoce los nombres de las aplicaciones deben crear un archivo en su carpeta de configuración con el nombre que quieran (yo usé prueba.ts) y escribir en él:
(debug)
Ahora nos vamos a una terminal y echamos a andar Devil’s Pie:
$ devilspie
¡Ja! Caíste, acabo de apropiarme de tu equipo… eeeh, no, pero bueno, veremos que salen todas las aplicaciones y los nombres con los que son reconocidos por devilspie (así encontré que application_name tenía que usar con Liferea):
pablo@ubuntu:~$ devilspie
Window Title: 'Liferea'; Application Name: 'Liferea'; Class: 'Liferea-bin'; Geometry: 1280x776+0+0
Window Title: 'pablo@ubuntu: ~'; Application Name: 'pablo@ubuntu: ~'; Class: 'Gnome-terminal'; Geometry: 1280x776+0+0
Window Title: '.devilspie - Navegador de archivos'; Application Name: 'Administrador de archivos'; Class: 'Nautilus'; Geometry: 1280x776+0+0
Window Title: 'Gestor de Paquetes Synaptic '; Application Name: 'synaptic'; Class: 'Synaptic'; Geometry: 1280x776+0+0
Window Title: 'Escritorio'; Application Name: 'Administrador de archivos'; Class: 'Nautilus'; Geometry: 1280x800+0+0
Window Title: 'Panel lateral expandido inferior'; Application Name: 'Panel lateral expandido inferior'; Class: 'Gnome-panel'; Geometry: 1280x24+0+776
Window Title: 'Panel lateral expandido superior'; Application Name: 'Panel lateral expandido superior'; Class: 'Gnome-panel'; Geometry: 1280x25+0+-24
El valor en rojo, es el que tienes que apuntar para agregar a los archivos de configuración.
Espero que les sirva, y por favor, ante cualquier duda, no duden en dejar un comentario.











Vamos... sabemos que quieres comentar algo ;)