21 marzo 2007

Devilspie: controlando las ventanas

Es difícil traducir la expresión window-matching utility, pero el concepto es sencillo: busca una ventana, y haz con ella lo que yo te diga.

Eso es Devil's Pie, una utilidad que analiza las ventanas que se crean en el escritorio, y si coinciden con unos criterios estipulados en la configuración ejecuta acciones sobre ellas: minimiza, envía a un workspace determinado, esconde su decoración... lo que queráis. Su flexibilidad es sencillamente increíble.

Devilspie se configura mediante archivos *.ds presentes en el directorio $HOME/.devilspie. Archivos que, por supuesto, hacemos a nuestro gusto, para que cada ventana en nuestro escritorio se comporte exactamente como queramos.

La configuración no es difícil, aunque tampoco intuitiva. Los archivos *.ds se componen de condicionales, booleanos y acciones. En foosel.net hay una descripción detallada de cada uno de ellos, con ejemplos de uso. Está en inglés, pero es sencillo, y los ejemplos facilitan la cosa aún más.

Como pequeño ejemplo de lo que devilspie puede hacer, os pongo alguno de archivos de configuración que uso:

(if (matches (window_name) "Eterm") (begin (pin) (undecorate) (skip_pager) (skip_tasklist) (below)))

Lo que viene a significar que si el nombre de la ventana coincide con Eterm se envíe a todos los workspaces (pin), no aparezca en el paginador (skip_pager), no aparezca en la lista de ventanas (skip_tasklist) y quede permanentemente bajo las demás ventanas (below). El resultado (combinado con una configuración específica de Eterm) lo podeis ver en esta captura de pantalla.

Otro ejemplo, más sencillo:

(if (is (window_name) "Akregator") (minimize))

Osea, si el nombre de la ventana es Akregator, se ejecute minimizada al inicio. Comodidad más que nada.

Las posibilidades son enormes: conversaciones de Gaim que se envíen automáticamente al escritorio 2, aplicaciones que permanezcan siempre sobre el resto de ventanas, programas que se abran siempre con un tamaño de ventana y una posición determinada... En una palabra: control total sobre las ventanas.

2 comentarios:

Anónimo dijo...

Es muy interesante. Quizas la unica pega es que en la web oficial no he visto tanta info como me gustaria, sobre el fichero de configuracion (que ademas ha cambiado, respecto a versiones anteriores). Pero las posibilidades son muchas.

Anónimo dijo...

kde 3.5 hace mucho tiempo que cuenta con esta característica.