• Monsterwm

Versión analizada

Código descargado de su repositorio en Github, cuyos últimos cambios datan de diciembre de 2012. Si se le pide información sobre versiones el programa se identifica como cookies-git - by c00kiemon5ter >:3 omnomnomnom, lo cual no dice gran cosa.

Página oficial

https://github.com/c00kiemon5ter/monsterwm

Estado actual

Está muy lejos de la popularidad de los gestores de ventanas más visibles —Openbox, Enlightenment, etc—, pero en el estrecho campo de los escritorios de mosaico sí despertó cierto interés. La prueba de eso es del código fuente se hicieron más de cuarenta réplicas , y aparecieron como mínimo una variante más moderna basada en la biblioteca XCB , y otra que evolucionó hasta convertirse en un gestor independiente, FrankenWM.

En el momento en que escribo esto, sin embargo, el autor original lleva casi una década sin tocar Monsterwm; de hecho no parece quedar nadie trabajando de forma regular en él. Así que puede considerarse abandonado, aunque mantenga usuarios.

Características resumidas

Esc. Virt. Menús Temas Flotantes Títulos B. de estado Manejo
No No No No Dinámico

Descripción


Captura de Monsterwm

Monsterwm en su aspecto más ordinario. Una ventana a gran tamaño en el área principal —izquierda—, y dos más apartadas a la derecha en la zona de pila. La barra de estado del borde superior es Dzen.


De Dwm ya hemos hablado aquí: se trata de un gestor de mosaico de enfoque austero y con bastantes años de historia. Muy influyente, también, puesto que con el tiempo ha servido de inspiración o de base para muchos otros —Yawm, Catwm, Adwm, etc—. Y uno de sus tantos descendientes es... ¡Monsterwm, claro!

El autor lo presenta así:

«Monsterwm es un gestor de ventanas de mosaico mínimo, ligero, minúsculo, pero monstruoso [quizás un juego de palabras: en inglés "monstrous" también puede entenderse como "enorme"]. Intentará permanecer lo más pequeño posible: actualmente menos de 700 líneas [de código] con el fichero de configuración incluido. Proporciona un conjunto de distribuciones diferentes [...], incluido un modo de [ventanas] flotantes. Cada escritorio virtual posee sus propias características, con independencia de los ajustes de otros escritorios o monitores».

Nótese que 700 líneas representan, en efecto, un programa muy, muy reducido. Para corroborar esto compárese con otros gestores de ventanas: Fluxbox abarca más de 35000 líneas de código, Openbox supera las 25000, e incluso algo tan modesto como Twm se acerca a las 16000. Dwm, por su parte, prometía no superar nunca las 2000.

¿Y qué ofrece Monsterwm en esas humildes 700 líneas? Pues se trata de un gestor dinámico muy al estilo del ya mencionado Dwm. Las ventanas se reparten todo el espacio del escritorio sin dejar huecos libres, siguiendo varios métodos posibles; no se espera que el usuario tenga que hacer ajustes muy meticulosos. Existe también una modalidad de ventanas flotantes para las aplicaciones que se comporten mejor así —editores gráficos, emuladores, etc—, y otra que las muestra a pantalla completa y permite alternar entre ellas. Bien pensado, es bastante funcionalidad para tan poco código.

Pero todo esto podría decirse asimismo de Dwm. ¿En qué se diferencia entonces Monsterwm de su progenitor? Desde la perspectiva de un usuario casual, mayormente en una cosa: Monsterwm no incluye ningún panel. La idea es que los interesados cubran ese hueco con sus propias soluciones, apoyándose en herramientas de terceros —Dzen , por ejemplo, o Conky—. El gestor se limita a dar algunas facilidades para ello.

No existe ningún archivo de configuración. De hecho no hay forma de ajustar el comportamiento de una copia de Monsterwm ya instalada. Sólo en el momento de compilar el código fuente se permiten ajustes, y para ello hay que editar las variables del fichero config.h.

Comentaré por último que el autor mantiene varias ramas de desarrollo con características extra. De modo que uselessgaps deja entre las ventanas del mosaico pequeños espacios —hay gente a la que por estética le gustan—, nmaster admite varias ventanas en el área principal —explico esto más abajo—, etc. Véase la página oficial . Se trata, de todas maneras, de detalles más bien nimios.

Primeras impresiones

Bueno, vistos de forma somera casi todos los gestores de mosaico se parecen mucho. Y Monsterwm, claro, podría pasar fácilmente por una réplica austera de Dwm —«¿eh, dónde está el panel?»—. A estas alturas ya he probado un buen número de ellos, así que creo que queda poco espacio para sorpresas; en líneas generales al menos ya sé qué esperar.

Las ventanas no cuentan con más decoración que un borde discreto de dos píxeles de ancho, normalmente gris, o de un vistoso color naranja para la que posea en cada momento el foco. Y ya está: en principio eso es todo lo que hay visible de Monsterwm.


Captura de Monsterwm

En los mosaicos con división horizontal el área principal —ocupada en este ejemplo por el navegador Seamonkey— queda arriba. Y en el borde superior de nuevo figura Dzen, ejecutando un script propio que informa sobre la sesión y la actividad del sistema.


Abro algunas terminales. Experimento un poco con los mosaicos, salto entre escritorios virtuales. Es, en efecto, muy parecido a utilizar Dwm... Ahora, téngase en cuenta que casi todas las operaciones deben efectuarse mediante atajos de teclado; y yo, que acabo de llegar, aún no sé cuáles son. No me queda más remedio que mantener siempre accesible la página de manual del gestor, para ir consultándolos sobre la marcha. Esta experiencia en realidad es común a la mayoría de gestores de mosaico, y uno de los obstáculos que puede desanimar a alguien que pruebe uno de ellos por primera vez, procedente de interfaces más convencionales. Digamos pues que no suelen ser muy hospitalarios.

Eh, ¿cómo demonios cierro ventanas? Me costó un poco encontrar la combinación de teclas indicada, aunque realmente aparece en la lista con todas las demás, no está escondida: [Alt] + [Mayúsc] + C. Ya sabiendo eso, sí, a funcionar...

Usando Monsterwm

Una vez memorizados los atajos de teclado para las operaciones básicas —abrir terminales, mover ventanas entre las áreas principal y de pila, cerrarlas, cambiar de escritorio virtual—, el manejo del gestor se vuelve muy natural. De hecho Monsterwm, si bien arisco al principio, resulta más simple que otras interfaces de mosaico: me estoy acordando ahora de cosas como StumpWM. Vamos, con un mínimo de paciencia y algunas consultas al manual la adaptación debería ser rápida.

En lo esencial se comporta de un modo similar a Dwm, y pasar de un gestor a otro apenas implicaría aprendizaje: el control mediante el teclado requiere de combinaciones distintas, mas no hay aquí conceptos nuevos que dominar.

Existen varios modos de trabajo para cada escritorio virtual, entre los que el usuario puede alternar en cualquier momento:

Mosaico con división vertical:
La pantalla queda partida en dos mitades. Hay un área principal a la izquierda, reservada para mostrar una única ventana a gran tamaño, y una zona de pila a la derecha, en la que se amontonan las demás abiertas en ese escritorio virtual concreto. Éste es el arreglo clásico de Dwm, y por extensión de todos los gestores de mosaico dinámicos.
Mosaico con división horizontal:
La misma idea básica que en el caso anterior, sólo que el área principal se encontrará arriba y la de pila en la mitad inferior del escritorio. Puede resultar práctico de vez en cuando en monitores pequeños, sobre todo en los antiguos que tengan unas proporciones más cuadradas —el mío, sin ir más lejos, es de 5:4, con una resolución nativa de 1280x1024 píxeles—.
Cuadrícula:
No hay zonas diferenciadas, y las ventanas tratan de repartirse equitativamente el espacio de la pantalla.
Monóculo:
Sirve para ver las ventanas de una en una, ampliadas hasta ocupar todo el área del escritorio. He utilizado esto muy ocasionalmente para leer algún documento PDF.
Flotante:
Se desactiva la distribución de ventanas en mosaico, y Monsterwm pasa a tratarlas como un gestor de pila convencional: permite arrastrarlas libremente por la pantalla, superponerlas y alterar sus dimensioones. No he tenido apenas necesidad de esto porque también resulta posible manejar así ventanas aisladas.

Lo curioso es que Monsterwm, pese a sumar menos de la mitad de código que su predecesor, resulta un poco más flexible. Por ejemplo los mosaicos con división horizontal y la distribución de ventanas en cuadrícula no se contemplan en Dwm, al menos no sin aplicar parches de terceros. Otra posibilidad nueva aquí es la de cambiar los tamaños de las ventanas en la zona de pila, algo que otros gestores dinámicos no suelen permitir. Se trata de detalles más bien secundarios, claro; pero me sorprendieron porque yo esperaba que Monsterwm fuese más rudimentario que Dwm en todos los aspectos, y resulta que no sucede exactamente así.

Lo que no trae el gestor es, como ya he explicado, un panel; según el autor porque su trabajo se adhiere a la filosofía de Unix —ya sabéis, herramientas simples pero susceptibles de combinarse en soluciones complejas—. De modo que quien quiera uno para, qué sé yo, ver en todo momento la fecha y la hora, o cuántas ventanas mantiene abiertas, deberá improvisar sus propias soluciones. Para facilitar eso Monsterwm emite información sobre la sesión por la salida estándar ; y tras cierta dosis de programación para darle un formato inteligible por personas, esa información puede mostrarse en una barra de estado independiente —pongamos Lemonbar , Dzen, etc—. El autor enlaza algunos ejemplos desde la página del proyecto; también ofrece Mopag , un panel muy sencillo concebido para el gestor, que indica de forma visual la distribución de las ventanas en los diferentes escritorios virtuales.


Captura de Monsterwm

Monsterwm maneja también ventanas flotantes, como en este caso el videojuego Battle of Wesnoth, si bien en esta modalidad resulta más bien limitado.


Vamos, hay mucho potencial para las chapuzas imaginativas aquí. Al menos para la gente que tenga el tiempo y las ganas. Yo recurrí a Dzen, y a un programa que escribí en Tcl para presentar en mi panel datos sobre el estado del sistema y mi sesión con Monsterwm; me llevó varios días refinarlo, pero al final el invento funcionó bien. Reconozco que fue una solución bastante más complicada que las que propone el autor.

Por lo demás he acabado sintiéndome muy confortable con Monsterwm. Normalmente me desenvuelvo con texto —Vim, terminales y el navegador Elinks—, y ése es en realidad el escenario ideal para un gestor de mosaico: porque el texto es líquido y puede llenar cómodamente celdas de gran variedad de tamaños. Sin embargo otras tareas —gráficos, videojuegos— quedan también cubiertas, puesto que existe la posibilidad de emplear para ellas ventanas flotantes. Así que ninguna queja, la verdad.

Opciones de personalización

Hay más de las que yo esperaba. Entre ellas, el ancho y colores de los bordes de las ventanas, el número de escritorios virtuales, algunos parámetros relativos a los mosaicos, el modelo de enfoque... Se permiten también ajustes específicos por aplicaciones, a las que hay que referirse por su atributo WM_CLASS: abrirlas siempre en un escritorio virtual concreto, o en ventanas visibles en todos ellos, o flotantes.

Y obviamente es posible cambiar los comandos del teclado, o definir otros nuevos.

¿Y cómo hacer todo esto? Pues como en Dwm: editando el archivo config.h del código fuente y compilando una nueva copia del programa. No existe otro modo. No resulta complicado —basta una orden «make», y luego instalar el ejecutable resultante—, pero ya presupone unos conocimientos mínimos.

Documentación

Una página de manual. No se prodiga mucho, pero más o menos basta para ir funcionando.

Aciertos

Inconvenientes

Conclusión

¿Qué es lo queda si a Dwm se le quita el panel? Pues a grandes rasgos eso sería Monsterwm: un gestor de mosaico que se limita a lo esencial. Y aunque apenas abarque 700 líneas de código —741, para ser exactos—, aunque sea diminuto, ¡resulta muy usable y versátil! Reconozco que me ha sorprendido.

¿A quién lo recomendaría? Supongo que a personas que ya conozcan otros gestores similares y tengan curiosidad por probar éste. Creo que al menos los usuarios de Dwm o Bspwm deberían sentirse cómodos aquí. Nótese que Monsterwm es simple mas no necesariamente «fácil»: no lo veo muy idóneo, pues, para la gente que no haya empleado nunca escritorios de mosaico.

Galería de imágenes

Algunas capturas más de Monsterwm en acción:

Captura de Monsterwm

Modo de trabajo en cuadrícula, todas las ventanas arregladitas con el mismo tamaño. Como barra de estado aparece en el borde inferior Mopag , que sólo resume cómo se distribuyen las ventanas en los diferentes escritorios virtuales.

Captura de Monsterwm

Esta captura me gusta: en algún momento de mi vida se me ocurrió aprender a escribir COBOL , y esa aplicación que se ve en la terminal de arriba, a la derecha, fue el resultado.

Captura de Monsterwm

No es una captura muy estimulante, pero bueno, muestra el así denominado modo de trabajo en monóculo: una ventana ocupando todo el espacio de la pantalla. Útil para ciertas tareas.

Captura de Monsterwm

Mosaico con división horizontal de la pantalla. Arriba, en el área principal, una partida de Civilization; el juego puede funcionar en Linux con el emulador DOSBox.

 

Artículo escrito el 8 de mayo de 2021.


[Apta para cualquier navegador]  [Cumple con el estándar HTML]  [Cumple con el estándar CSS]

Podéis copiar libremente cualquier contenido de esta página.
Mandad opiniones, sugerencias o saludos a sovietskayarodina@gmail.com.