Como configurar tamaño, ubicación y área de trabajo de ventanas en Gnome

Las áreas de trabajo, también conocidas como «workspaces«, o «escritorios», son una de las cosas de las que primero me enamoré cuando empecé a utilizar Ubuntu. Es típico que ordeno mis aplicaciones en los distintos escritorios y con el tiempo esto se comienza a transformar en una regla, ya en una semana, Audacious en el tercer escritorio, GIMP en el cuarto, etc. Al poco tiempo me pregunté si podía configurar y dejar de manera predeterminada que las aplicaciones se abrieran en un determinado escritorio. En esa ocasión, mi búsqueda fue infructuosa.

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».
ss11.png

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_workspace por set_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 anterior application_name es igual (is) a «Liferea»
  • begin: se usa para comenzar una serie de funciones
  • application_name: El nombre de la aplicación
  • set_workspace #: Donde #, es el número de escritorio al que queremos mandar la ventana
  • set_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 escritorios
  • minimize: Minimiza la ventana
  • maximize: Maximiza la ventana
  • close: Cierra la ventana
  • geometry: Especifica la posición + tamaño de la ventana
  • window_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 xwininfo desde 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.

15 comentarios en “Como configurar tamaño, ubicación y área de trabajo de ventanas en Gnome

  1. Los dos anteriores los leí, pero comprenderás que ya tengo un poco de sueño (1:48 de la madrugada) y he comido mucho (post-cena de navidad… así que más sueño aún), por lo que este se queda para luego.
    Bueno, por lo menos tendré ayuda de amigable lectura cuando me decida a la migración (aparte de la que me darás tú en persona, claro xD ).
    Veo que escribes muy bien… valorable, camarada.
    A ver si te pasas por mi blog un día, que si bien no tiene nada que ver con los serios temas que tomas, bien puede ser aporte para alguno… como lo es para mí escribirlo.
    Saludos!
    Y feliz navidad!

    Me gusta

  2. @Naissant

    Gracias Albert, es un honor para mí. Claro que me daré una vuelta por tu blog. =).

    @Francotirador

    Ya corregí el problema… excentricidades de Compiz (me suena eso). En fin, revisa la parte 2 donde menciono a Liferea, ahí postié el código que hay que usar para Compiz.

    Espero que ahora sí ande. =).

    Me gusta

  3. Esta guay esto, pero… tal vez habría que explicar que en la clave:

    «Geometry: 1280×24+0+776» por ejemplo…

    los valores «+» pueden cambiarse por «-» corrigiendo así la posición de izquierda-derecha desde la cual redimensiona la ventana.

    Me gusta

  4. Gracias por el tutorial está de lujo, en mis tiempos geek usaba Fluxbox y esta labor venía integrada en el manejador de ventanas, usando Gnome siempre extrañé este detalle, voy a probar si funciona en un feisty con compiz activado y te cuento.

    Me gusta

  5. Hola,

    y si tengo dos ventanas con el mismo titulo, ¿como hago para distinguir una de otra, por ejemplo para darles distinto tamaño?

    Si no se puede con Devil’s, que otra herramienta me lo permitiria?

    Uso Ubuntu

    Gracias!

    Me gusta

  6. Me pillaste :P. Tendrías que investigar…. realmente no sé como podría hacerlo… lo siento :(.

    La otra vez leí que Compiz de alguna manera podía hacer lo mismo (prescindiendo de Devil’s), pero desconozco.

    Lamento no poder ser te de más ayuda… =(

    Me gusta

  7. Hola Pablox he intentado agregar las areas de trabajo pero no me funciona bien. trabajo en ubuntu 8.10 y tengo instalado el compiz, cuando carga la sesion veo los escritorios por un momento y luego desaparecen. Cuando estoy ejecutando el comando devilspie para ver el debug me da el siguiente error:
    No s-expressions loaded, quiting

    Si me puedes ayudar, gracias

    Me gusta

  8. mira no se que hacer y recurro a ustedes….soy nuevito en ubuntu 9.10 .el tema es que sin querer puse la barra de arriba abajo y que se escondiera y ahora no la puedo agarrar ni ver ninguna de las 2 barras .por favor ayuda no quiero pasar ni un dia mas sin usar la pc,digo esto porque saqe win de mi pc y solo deje linux ………………..

    agradesco su pronta respuesta

    Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.