6.0, publicada en diciembre de 2011.
Continúa en desarrollo a un ritmo más bien lento. Hace varios años que no se publica una versión regular, si bien en su repositorio de código fuente siguen efectuándose cambios de forma ocasional.
Cuenta además con cierto renombre y un público apreciable a su alrededor, y por ello muchas distros de Linux y sistemas Unix lo ofrecen como paquete opcional.
Esc. Virt. | Menús | Temas | Flotantes | Títulos | B. de estado | Manejo |
---|---|---|---|---|---|---|
Sí 1 | No 2 | No | Sí | No | Sí | Dinámico |
1 En la práctica los tags
vienen a funcionar como tales.
2 Dwm en sí carece de ellos, pero en su configuración por defecto asume la presencia en el sistema de Dmenu, un menú dinámico creado por los mismos autores.
Así luce Dwm. Un mosaico con terminales, en una de ellas ejecutándose Vtclock . En el borde superior, la barra de estado.
Su nombre, Dwm, viene de Dynamic Window Manager
. Se trata de un gestor de mosaico diseñado con un enfoque austero. Según sus creadores:
«Dwm es un gestor de ventanas dinámico para X. Maneja ventanas en distribuciones de mosaico, monóculo y pila. Todas ellas pueden ser aplicadas dinámicamente, de modo que se optimice el entorno para la aplicación en uso y la tarea en curso».
Dicho de esta forma quizás quede un tanto opaco, así que detallaré la explicación. La idea básica consiste en que Dwm cuenta con tres formas de organizar ventanas, y el usuario puede ir alternando entre ellas durante su sesión de trabajo, según sus necesidades. Son las siguientes:
master area— queda a la izquierda y ocupa su parte más grande, y está reservada para que el usuario se ocupe con comodidad de las tareas que en cada momento le exijan más atención; y a la derecha existe la
stacking areao zona de pila, en la que se amontonan el resto de los programas abiertos. Como supondréis, ir moviendo ventanas de un área a la otra forma parte del uso habitual del gestor.
Más cosas... Los autores también escribieron esto:
«Dwm carece de integración con Lua, soporte de 9P, configuración basada en intérpretes de comandos o control remoto; y viene sin ninguna herramienta adicional [...] Es un único binario, y no se prevé que su código fuente supere nunca las 2.000 líneas».
Tomada el mismo día que la captura de arriba. El área principal, a la izquierda, con dos ventanas —¡y un gatito!—, a la derecha la de pila con todas las demás amontonadas.
Vamos, que su intención fue crear un gestor de ventanas pequeño y simple. Hablan bastante sobre ello en su «Manifiesto» . Y sí, es verdad que Dwm se adhiere en gran medida a lo que suele reivindicarse como la filosofía de Unix, esa utopía de herramientas sencillas y dedicadas a una única tarea, mas susceptibles de ser combinadas hasta el infinito.
Por eso, claro, Dwm no incluye ningún tipo de menú, pero sus responsables han programado de forma independiente Dmenu —algo así como un híbrido entre línea de comandos y menú de aplicaciones—, y lo recomiendan como complemento.
Por supuesto, tampoco hay ningún sistema de configuración, ni siquiera los clásicos archivos ocultos de texto en el directorio raíz del usuario. Nada. El modo de hacer ajustes en Dwm es modificar directamente el código fuente —concretamente el fichero config.h; si éste no existe, teclead «make config.h
»— y compilar una nueva copia. A este respecto los autores comentan que:
«Puesto que Dwm se personaliza editando el código fuente, carece de sentido distribuirlo en paquetes binarios. Esto mantiene la base de usuarios pequeña y elitista. Sin novatos haciendo preguntas estúpidas».
Elitismo dentro de un mundillo tan selecto como el de los gestores de mosaico, cuyos usuarios componen esa vanguardia intelectual que ha visto la luz y comprendido la inutilidad del ratón y las ventanas flotantes... ¡Elitismo elevado al cuadrado!
Vale, dejemos los chistes tontos y pasemos a otras cuestiones. Dwm cuenta con una barra de estado en el extremo superior de la pantalla. De izquierda a derecha, nos presenta los tags
existentes —a efectos prácticos funcionan casi como escritorios virtuales—, un simbolito que representa el modo de trabajo actual —ya sabéis, mosaico, pila o monóculo—, el título de la ventana seleccionada, y un texto personalizable. Esta última característica puede aprovecharse para mostrar información diversa como la fecha y la hora, memoria RAM libre..., vamos, cualquier cadena de texto que se le pueda enviar a xsetroot
.
Y a grandes rasgos creo que esto sería todo.
La modalidad de trabajo con ventanas flotantes puede resultar útil en alguna circunstancia. Hay una terminal, el explorador de archivos Xfe, y una instancia de GLClock. Oh, he puesto ya algo útil en la barra de estado.
Hace un par de años probé sin proponérmelo 2wm. Y resulta que a primera vista Dwm es similar: la misma división vertical de la pantalla, con el área principal a la izquierda y las ventanas de importancia más bien secundaria apiladas a la derecha. Poco sorprendente, porque 2wm nació de los mismos autores como una especie de variante liviana de Dwm; aunque yo me he dado cuenta de eso ahora.
Con gestores convencionales —pongamos, qué sé yo, Fluxbox— uno puede comenzar improvisando, clicando aquí, arrastrando allá..., y aprender lo básico de su manejo sin tener que estudiarse la documentación. Los de mosaico, al menos los que he utilizado hasta el momento, no se prestan a esa clase de experimentos: sin una lectura atenta al manual el usuario recién llegado no irá muy lejos. Y no porque su funcionamiento resulte especialmente complicado, sino debido a que la mayoría de sus operaciones se realiza mediante combinaciones de teclas, y el teclado es más directo pero menos intuitivo que el ratón.
Así que mis andanzas con Dwm empezaron con el manual visible en todo momento en una terminal, para ir resolviendo dudas sobre la marcha.
Por lo demás, y al contrario que su hermanito pequeño, Dwm identifica con considerable acierto las ventanas temporales y las trata como flotantes. Así que no me topé con absurdos diálogos de «¿Desea salir de X sin guardar los últimos cambios? Aceptar / Cancelar» encajados sin miramientos en el mosaico, ampliados hasta ocupar medio monitor. Y eso está bien, muy bien.
Oh, me costó un poco colocar un reloj en la barra de estado. Dwm, fiel a su filosofía, no incorpora tal funcionalidad; pero a través de xsetroot
se le puede mandar el texto de salida de cualquier herramienta o script de Unix. Así que al final la solución fue una dosis ligerita de programación en Bash:
estado () { temperatura="Temp. CPU: `sensors | grep diode | awk '{print $2}'`" hora=`date "+%A, %_d de %B de %Y -- %H:%M" | sed 's/[a-z]/\U&/'` xsetroot -name "$temperatura | $hora" } while estado do # Actualízate cada treinta segundos sleep 30 done
Ya os habréis dado cuenta: el elitismo de los autores va en serio y Dwm no hace apenas concesiones a los usuarios inexpertos. Si bien he de reconocer que la solución a este problema concreto del reloj ya venía sugerida en el archivo README del código fuente.
Bueno, insisto: Dwm se configura modificando el fichero config.h de su código fuente y compilándolo de nuevo. ¿Quieres cambiar los colores de la barra de estado? Lo dicho, compilas e instalas una nueva copia. ¿El grosor del borde que señala la ventana activa? Compilas e instalas una nueva copia. ¿Añadir una aplicación más a la lista de excepciones a ser tratadas como ventanas flotantes? Compilas e instalas una nueva copia... Ah, y una vez hecho no olvides reiniciar tu sesión gráfica para que los cambios surtan efecto. Resulta tedioso, sí, por mucho que el proceso lleve sólo unos segundos. Por supuesto, antes o después uno logra una configuración de su agrado y desaparece la necesidad de continuar con esta rutina.
Dwm con una estética naranja y fuentes TrueType; el soporte para ellas debe agregarse con uno de los parches alojados en la página oficial. En el extremo inferior aparece Dmenu.
Casi la totalidad de mi tiempo con Dwm lo pasé trabajando con mosaicos, e imagino que el resto de los usuarios hará lo mismo. Los otros dos modos de funcionamiento —pila y monóculo— quizás tengan su utilidad en alguna situación aislada. El segundo, por ejemplo, puede venir bien con videojuegos, o si se desea leer algo a pantalla completa y sin distracciones; aunque en los monitores panorámicos modernos leer así se vuelve incómodo por la longitud de los renglones. Y respecto al primero..., ya, si alguien se lo propone es posible utilizar Dwm como un gestor convencional de pila, sólo que no está concebido para ello y es francamente rudimentario en ese papel.
Ahora repetiré lo que ya ha comentado en otros artículos. Disponer ventanas en mosaico es práctico cuando se trabaja sobre todo con texto, de ahí que este tipo de interfaces sean populares entre programadores o escritores. Otras aplicaciones resultan más exigentes con las dimensiones de sus ventanas, y a menudo no encajan bien en la cuadrícula: herramientas para manipular imágenes, por ejemplo, o navegadores web.
Los autores de Dwm también han considerado esto, y por ello permiten que el usuario defina una lista de programas cuyas ventanas serán manejadas siempre como flotantes; eso sí, se mostrarán por encima del mosaico y no cabe la posibilidad de minimizarlas ni ocultarlas. Se trata de una solución que ya he visto en los demás gestores de esta clase que he probado —Larswm, Ion, etc—, y que funciona aceptablemente.
Como ya he mencionado, Dwm es «dinámico», lo cual significa que la cuadrícula va cambiando su geometría según lo demande la cantidad de ventanas visibles, y sin intervención por parte del usuario. Éste puede ajustar a su gusto la anchura de la zona principal, y también el número de ventanas que gozarán del privilegio de aparecer en ella —por defecto sólo es una—; pero las divisiones necesarias del espacio de la pantalla las hace Dwm de forma automática. Como ejemplo, contrástese esto con el modo de operar de Ion, casi enteramente manual, y que por ello permite mosaicos personalizados..., y que añade además a cada celda una interfaz de pestañas.
Y con fuentes TrueType se hace un poco más fácil combinar alfabetos mediante Unicode: fijaos en el texto en cirílico de la barra de estado. El navegador usado es QupZilla.
Controlar Dwm no es difícil: las combinaciones de teclas imprescindibles a memorizar no llegan a la decena —salvo que os propongáis prescindir del ratón, cosa en principio factible—, y los conceptos en que basa su funcionamiento son bastante accesibles para el homínido común. Lo único que se me resistió un poco fue el manejo de los tags
, porque la explicación de ellos que se da en la página de manual no me quedó muy clara. Ya he escrito arriba que en líneas generales se trata de una idea similar a los escritorios virtuales de otros gestores, aunque con cierta idiosincrasia. Como muestra, podéis asignar una ventana a dos o más tags
diferentes, de modo que resulte visible en todos ellos: o mostrar en la pantalla al mismo tiempo el contenido de varios de estos tags
. A ninguna de las dos posibilidades le saqué mucho provecho, pero ahí están.
Una última cosa: si bien Dwm resulta más bien sobrio y no se entretiene con características demasiado elaboradas, su comunidad de usuarios ha ido con el tiempo añadiéndole nuevas funciones mediante parches opcionales. Hay un amplio repertorio de ellos, alojados en la página oficial , que aportan una gran variedad de novedades: otros algoritmos distintos para organizar mosaicos, texto de colores o gráficos para la barra de estado, etc. Yo sólo he usado, sin imprevistos, el que incorpora soporte de fuentes TrueType mediante Xft; de los demás no puedo opinar.
Las estrictamente necesarias: colores de la barra de estado —que comparte también Dmenu, si lo usáis—, tipos de letra, aplicaciones cuyas ventanas serán tratadas siempre como flotantes, número de tags
a utilizar, y atajos de teclado. Todas ellas se definen en el archivo config.h del código fuente antes de compilar cada copia.
Se incluye una página de manual. Es corta, se lee rápido, y explica lo indispensable para ir tirando.
Mi sentido arácnido me dice que se trata de Dwm corriendo en el monitor de un portátil. Terminales transparentes y texto verde —¡bienvenido de vuelta a los años ochenta!—. (La captura no es mía: fuente ).
taga otro.
Dwm apenas se esfuerza por resultar hospitalario. La actitud de sus autores podría resumirse en «el que prueba nuestro software ya sabe a lo que va», y por ello da por supuestos unos conocimientos básicos: modificar variables y compilar código fuente. No obstante, tampoco lo veo menos accesible que otros gestores de su clase: Ion, por citar un caso, impone un aprendizaje más duro y prolongado, aunque luego lo recompense con creces.
En fin, lo he estado usando a diario durante tres semanas y me las he arreglado bien, a pesar de algún detalle que no me ha terminado de convencer. Bastante práctico. Si contase con un sistema de configuración de verdad quizás hasta lo recomendaría.
No pensaba poner más capturas porque, bueno, Dwm no tiene en realidad mucho que enseñar, su interfaz es muy discreta. Pero luego he pensado que estaría bien mostrar más configuraciones:
![]() Dwm operando en modo «monóculo»: una sola ventana acaparando toda la pantalla, todas las demás ocultas. Aunque ese recuadro de las bolitas de colores era una ventanita flotante perteneciente a una demo. |
![]() Los videojuegos —en este caso Duke Nukem 3D— no suelen encajar bien en los mosaicos, pero siempre es posible dejarlos sobre ellos como ventanas flotantes. |
![]() Tomada en 2008 de una instalación de FreeBSD. No sé exactamente cómo se ha logrado esa configuración, pero seguramente hay algún parche implicado. (La captura no es mía: fuente |
![]() No hay aquí nada que no se haya mostrado ya, sólo que la imagen pertenece a una versión antigua de Dwm, la 3.0. (No es mía: fuente |