1.4.9, publicada el 4 de abril de 2017.
https://www.nongnu.org/ratpoison/
Se trata de un proyecto maduro, que en el momento en que escribo esto cuenta con diecisiete años a sus espaldas. Sin embargo sigue todavía activo, y van apareciendo nuevas versiones de forma esporádica. Entre los usuarios de gestores de mosaico tiene su público fiel.
Esc. Virt. | Menús | Temas | Flotantes | Títulos | B. de estado | Manejo |
---|---|---|---|---|---|---|
No 1 | No | No | No | No | Parcial 2 | Manual |
1 Con las funciones de guardar y recuperar mosaicos puede simularse algo parecido.
2 Lo que Ratpoison denomina «barra de estado» es un área de notificaciones en la esquina superior derecha de la pantalla, que muestra mensajes de forma intermitente.
¡«Matarratas» en acción! Un mosaico de tres ventanas, de las cuales posee el foco la terminal de la derecha —véase el borde rojo—. Arriba, en la esquina, el área de notificaciones anuncia ratpoison 1.4.9
.
El desarrollo de Ratpoison comenzó a finales de 2000 de la mano de Shawn Betts, aunque más tarde fue asumido por Ryan Yeske, Jeremie Courreges-Anglas y otras personas. Inspirado en GNU Screen . Los autores lo describen en la página oficial tal que así —mi traducción, no del todo exacta—:
«Ratpoison es un simple gestor de ventanas sin copiosas dependencias, sin gráficos vistosos, sin decoración para las ventanas, y que no depende del roedor [...]
»La pantalla puede dividirse en celdas que no se superponen. Todas las ventanas se mantienen maximizadas [sic] dentro de sus celdas para aprovechar al máximo el precioso espacio de tu pantalla.
»Toda la interacción con el gestor de ventanas se lleva a cabo mediante las teclas. Ratpoison cuenta con prefijos [para los atajos de teclado] con el fin de minimizar conflictos que inutilicen Emacs y otras piezas de software de calidad».
Exacto, chicos, hablamos de un gestor de mosaico. En ellos las ventanas no flotan libremente por el escritorio ni se apilan unas sobre otras, sino que se reparten el área disponible sin solaparse. Unos hacen esto de forma semiautomática, siguiendo algunas pautas predefinidas, y se denominan por ello dinámicos —véanse Dwm o Xmonad—. En la acera opuesta tenemos a los llamados manuales, que dejan en manos del usuario toda la labor de dividir la pantalla en celdas y alojar en ellas ventanas: Ratpoison pertenece a este último grupo.
Además, su manejo se efectúa íntegramente mediante el teclado. De hecho el nombre del gestor ya es una inequívoca declaración de intenciones: Ratpoison significa «matarratas». Crear nuevas celdas en el mosaico, combinar otras ya existentes, mover el foco de una ventana a otra, cambiar el tamaño de una celda, consultar qué ventanas se hallan abiertas..., todo, todo esto y más se efectúa mediante secuencias del teclado. Casi todas consisten en un prefijo —[Ctrl] + T en la configuración por defecto— seguido de otra tecla o combinación de ellas.
Ratpoison no añade decoración a las ventanas, a excepción de un borde de ancho y colores personalizables, cuya función es indicar cuál tiene en cada momento el foco. Tampoco hay una barra de estado al uso; sin embargo el gestor mostrará al usuario información o avisos mediante diálogos temporales en la esquina superior derecha de la pantalla —este lugar puede cambiarse—.
El funcionamiento de Ratpoison viene controlado por un conjunto de variables y órdenes internas, y esto permite hacer ajustes sobre la marcha o realizar acciones inaccesibles con simples atajos de teclado. Se ofrece para ello una línea de comandos, que en principio aparece al pulsar [Ctrl] + T, y [:]. También es posible darle órdenes al gestor desde una terminal —escribiendo «ratpoison -c <comando interno>
»—, lo cual abre la puerta a programar todo tipo operaciones complejas desde scripts de Bash o vuestro intérprete favorito.
El gestor lee su configuración desde el archivo ~/.ratpoisonrc del usuario. Se trata de un fichero de texto, bien comentado, y que se apoya también en los comandos internos mencionados arriba para establecer atajos de teclado, colores de los diálogos, etc.
Y aquí tenemos otro mosaico con cinco ventanas visibles, tres a la derecha y dos más grandes a la izquierda. Una lista de ellas aparece en el área de notificaciones.
«Ratpoison: dile adiós al roedor».
Y sí, ya desde el principio comprobé que este gestor de ventanas funciona exactamente así. No es que el ratón quede relegado a un segundo plano, a operaciones ocasionales, es que aquí no sirve para nada: incluso el foco se controla exclusivamente con el teclado.
Casi todos los gestores de mosaico que he usado resultan un tanto ariscos durante los primeros días, porque exigen cierto aprendizaje, normalmente memorizar algunos atajos de teclado. Ratpoison, por supuesto, también; y quizás sea incluso un poco más difícil que la media. Tal como anoté, no parece muy cómodo, hay muchas combinaciones de teclas que recordar
. Oh, pero demuestra un poquito de compasión por el recién llegado: al iniciarse saluda con un mensaje de bienvenida que informa de cómo acceder a la pantalla de ayuda —en la configuración por defecto, presionando [Ctrl] + T, y [?]—. Y ésta enumera todos los posibles atajos de teclado y sus funciones, algo que me ayudó mucho en mis aventuras iniciales.
Eh, el gestor decora las ventanas con un borde de un píxel, y resalta la que posee el foco con un color diferente. Camino de cumplir cuarenta años y adquirir la agudeza visual de Rompetechos , he de esforzarme demasiado para distinguirlo; lo amplié a dos píxeles de ancho en cuanto averigüé la manera de hacerlo.
En realidad estas primeras sesiones con Ratpoison fueron poco fructíferas. Quiero decir, anduve experimentando con él, ojeando la documentación y escribiendo mis preferencias en el archivo ~/.ratpoisonrc, mas no hice nada útil con el ordenador. Me dejaron impresiones contrapuestas: un gestor de ventanas muy versátil, sí, y poder enviarle órdenes desde una terminal debería ser genial para improvisar chapuzas... Sin embargo, supuse que dominar todo eso iba a hacerse cuesta arriba.
Bueeeeno... Al final no ha sido tan traumático. Sí, durante tres semanas he renunciado al camino perverso del roedor, que ha permanecido casi siempre inactivo sobre su alfombrilla, mientras yo manejaba mis sesiones con el teclado y básicamente era feliz. En esto consiste la propuesta de Ratpoison, al fin y al cabo: el ratón, quietecito.
Vale, sí, pero no del todo. Es cierto que resulta perfectamente posible trabajar sólo con el teclado, si las herramientas que uno necesita se basan en terminales o están concebidas también para ello. Por ejemplo, paso muchas tardes con el navegador de texto Elinks —Internet es relajante así, sin distracciones y con páginas que cargan al instante—, y además puedo escuchar música mediante Herrie
, o escribir cosas con Vim, o quizás leer algún documento PDF: para nada de esto hace falta tocar el ratón. No obstante, con las aplicaciones gráficas el asunto se complica. ¿Una hoja de cálculo en Gnumeric? ¿Navegar con Firefox o Midori? ¿Explorar una colección de fotos con Geeqie? En estos casos ya hay que conocer muy bien el programa utilizado, y tal vez no toda su funcionalidad sea accesible sólo con las teclas: hablamos de interfaces diseñadas para el ratón, al fin y al cabo. Y si la mayor parte de tu rutina se basa en este tipo de utilidades, elegir un gestor de ventanas como Ratpoison, que se apoya exclusivamente en el teclado, no ayuda: una de tus manos estará agarrando y soltando continuamente el ratón. Recuerdo que incluso el foco se controla con combinaciones de teclas.
Una peculiaridad de Ratpoison es que las celdas del mosaico pueden permanecer vacantes y dejar así visible el fondo del escritorio —en este caso, Xearth —.
Claro, esto hace a Ratpoison un escritorio ideal para programadores, escritores y demás gente que trabaje habitualmente con texto, y poco aconsejable para quienes tengan que enfrentarse con frecuencia a programas de manipulación de imágenes, GIMP y similares. Valoración que podría extenderse a la mayoría de gestores de mosaico, pero aquí se acentúa más por el hincapié que se hace en prescindir del ratón.
(¡Hola roedor! Llevo dos horas sin tocarte).
El manejo general de Ratpoison no difiere mucho del de otros gestores de mosaico manuales —véase Ion—. Una sesión comienza con una única celda que abarca toda el área del monitor. El usuario tiene la opción de iniciar alguna aplicación en ella —que aparecerá por tanto a pantalla completa—, o ir dividiéndola vertical u horizontalmente en partes más pequeñas. El único límite en este aspecto, los caprichos de cada persona. Como muestra, ¿disponer de una cuadrícula de doce celdas repartidas en tres columnas? Posible, aunque probablemente poco práctico. Como ya se ha explicado antes, cada celda mostrará en un momento dado sólo una ventana, si bien es capaz de contener varias.
Además las ventanas pueden clasificarse en grupos. Esto resulta útil para diferenciar tareas. Por ejemplo, alguien que esté haciendo cuentas mantendría su hoja de cálculo y otras aplicaciones relacionadas con su trabajo en un grupo —llamémoslo «faena»—, mas seguramente querría dejar su reproductor de música en otro diferente, para que no aparezca en el mosaico entre las ventanas del primero. Se trata de una característica con un parecido lejano a los tags
de gestores como Dwm.
También resulta posible salvar y recuperar mosaicos durante la sesión, mediante atajos de teclado reservados para ello. Muy conveniente en el caso de que alguien necesite un programa a pantalla completa durante un rato, para luego regresar al orden anterior. Y esta característica, en combinación con los grupos ya mencionados, ofrece una imitación un tanto laboriosa y rudimentaria de lo que podrían ser los escritorios virtuales de otros entornos.
Disponer de una línea de comandos desde la que darle órdenes directas al gestor es interesante. Y la posibilidad de enviar estas órdenes de forma secuencial desde la shell del sistema —Bash, Zsh, etc— aún más: permite a usuarios imaginativos ampliar la funcionalidad de Ratpoison de maneras insospechadas. Como muestra, yo aproveché esto para mostrar en el área de notificaciones información sobre temperaturas y carga de trabajo del ordenador, o un resumen de la sesión con todos los grupos y ventanas en activo. Se trata sólo de la punta del iceberg, realmente hay potencial para apaños creativos aquí.
Oh, casi se me olvida mencionarlo: algunos gestores de mosaico contemplan el manejo de ventanas flotantes en casos excepcionales, mientras que Ratpoison... Nada, nasti de plasti, colegas. Como mucho reconoce con bastante acierto las ventanas temporales —diálogos de seleccionar archivos, ese tipo de cosas— y las muestra centradas en sus respectivas celdas. Y esta carencia hace que programas que dividen sus interfaces en partes independientes, y esperan para ellas unas dimensiones determinadas —pienso de nuevo en GIMP, aunque hay más, como Xv o el calendario Plan —, no resulten exactamente cómodos aquí. Sospecho de todas formas que el colectivo de personas que emplea cotidianamente GIMP y el de los interesados en Ratpoison apenas se solapan.
¿Peculiaridades? Bueno, un mosaico no tiene que cubrir necesariamente todo el espacio de la pantalla, dado que las celdas pueden quedar vacías: bien por carecer de ventanas asociadas a ellas, o porque el usuario decida en una ocasión concreta no mostrar ninguna —[Ctrl] + T, [-]—. Se trata de un detalle poco habitual en esta clase de gestores. En fin, si elegís un fondo de escritorio bonito lo veréis de vez en cuando.
¿Consejos? Como prefijo para los atajos de teclado yo sustituí [Ctrl] + T por [Super] —que en mi Linux equivale a esa tecla [Windows] que suele permanecer sin uso—, cosa que hizo mi vida con este gestor de ventanas mucho más confortable, porque implica menos dedos bailando sobre el teclado. Ya de paso añadí una combinación de teclas para invocar a Dmenu , una pequeña herramienta muy indicada para lanzar rápidamente aplicaciones. He de decir, no obstante, que el propio Ratpoison cuenta en su configuración por defecto con atajos para ejecutar Xterms —[Ctrl] + T, C— o comandos arbitrarios desde la shell del sistema —[Ctrl] + T, [!]—.
Preparé una combinación de teclas para mostrar la hora en el área de notificaciones, con números llamativos: el resultado de ejecutar date +"%H:%M" | figlet -f big
.
Dentro de lo que cabe Ratpoison es bastante flexible, y permite configurar los atajos de teclado, el comportamiento de las notificaciones, los colores y tamaño de los bordes de las ventanas, acciones a realizar de forma automática tras ciertos eventos, etc.
La página de manual explica bien todo lo que hace falta saber para desenvolverse, y enumera uno por uno las variables y comandos internos del gestor. En el directorio doc del árbol de código fuente se encuentra, además, el Ratpoison User Manual, un texto más detallado que puede procesarse durante la compilación para leerlo en formato HTML, PDF o DVI.
Entonces, ¿es posible vivir sin el roedor? En algunos casos parece que sí. Y esto, como ya he comentado, me ha sorprendido un poco: comencé mis andanzas con Ratpoison pensando que iba a ser casi inusable, y resulta que se trata de un gestor de ventanas muy bien pensado. Y si uno supera el periodo de adaptación —lo reconozco, duro— puede llegar a encontrarlo realmente cómodo. Me gusta, vaya.
Eso sí, poco indicado para gente que trabaje muy a menudo con imágenes o vídeo.
En la página del proyecto explica desde hace años el autor original, Shawn Betts:
«Yo no sé qué ocurre con los gestores de ventanas, pero la gente se queja si no se le da una captura de pantalla. Yo le digo una y otra vez que Ratpoison no tiene nada que capturar, pero aun así insiste».
Y bien mirado es verdad, si uno sólo mira imágenes de escritorios los gestores de mosaico apenas se diferencian unos de otros. Da lo mismo, más pantallas de Ratpoison a continuación:
![]() Una terminal, Xearth y Dmenu —en el borde superior de la pantalla— con colores a juego. |
![]() ¡Miau, miau! Podéis ver que también aproveché el área de notificaciones para mostrar información general sobre el estado del sistema, gracias a un programita en Bash escrito para ello. |
![]() Manejo estrictamente manual: uno va creando divisiones en el mosaico a su antojo y dándoles el tamaño que prefiera. Además, Ratpoison cuenta con una línea de comandos, visible en la imagen en la esquina superior derecha. |
![]() Calendario con florecitas en el área de notificaciones... Insisto, con unos conocimientos mínimos de scripting —Bash, Perl, cualquier cosa que emita texto— hay un mundo de posibilidades aquí. |
![]() Así presentan los autores su trabajo... En el área de notificaciones aparece la lista de ventanas abiertas. (La captura no es mía, procede de la página oficial de Ratpoison |
![]() Una distribución así —tres, cuatro o como mucho cinco ventanas compartiendo la pantalla— suele ser la norma en este tipo de gestores, salvo quizás para la gente con monitores grandes. Abajo y a la derecha, una partida a Railroad Tycoon |