• Wwm

Versión analizada

2.0, publicada el 12 de febrero de 1999.

Página oficial

http://www.joerch.org/wwm/

Estado actual

En el momento en que escribo esto lleva nada menos que dos décadas abandonado. Se le menciona de pasada en algún texto viejo sobre el X Window System, y eso incluye rincones tan antiguos de Internet como Window Managers for X .

¿Usuarios? ¿Usuarios, dices? En 2020 no me imagino a ninguno, la verdad. Incluso en su ya lejana época de vigencia Wwm fue un proyecto más bien oscuro.

Características resumidas

Esc. Virtuales Menús Iconos Temas Dockapps At. de teclado Barra de tareas
No No 1 No No No No

1 Existe una —muy rudimentaria— «caja de iconos», xiconbox, que es a efectos prácticos un menú de tareas para recuperar ventanas minimizadas.

Descripción


Captura de Wwm

Y así luce Wwm con los ajustes por defecto. En la esquina inferior izquierda aparece la «caja de iconos», que lista las ventanas minimizadas para que el usuario pueda recuperarlas —en este ejemplo sólo hay una—.


Wwm viene firmado por un tal Jörg Czeranski. Su nombre viene de Weird Window Manager, aunque en principio no tiene ningún rasgo que pueda considerarse realmente «raro».

Se trata de un gestor de ventanas muy, muy pequeño y básico —hablaremos de ello en un momentito, tranquilos—, pero formaba parte de un proyecto más ambicioso, algo que el autor bautizó como Jws . Este Jws iba a ser un entorno de trabajo dirigido a terminales y aplicaciones de texto, y se basaba en una sencilla interfaz de mosaico que mostraba ventanas de dos en dos, cada una ocupando una de las mitades verticales de la pantalla. Incluía un emulador de terminal —Jterm—, su propio código para dibujar texto y una fuente propia, un gestor de ventanas llamado Jwm —no guarda la menor relación con otro JWM mucho más actual, y popular—, y algún componente más. Ah, y según afirmó Czeranski :

«Empecé a escribir Jws y Jwm el 11 de abril de 1995. No fue concebido como un gestor de ventanas para X11, y todavía no lo es. Se trata más bien de un prototipo de la GUI [interfaz gráfica] de mi propio sistema operativo».

Vamos, que el autor tenía grandes ideas que iban más allá de otro gestor de ventanas para Unix. Y aunque esos planes no llegaron muy lejos, y de Jws sólo existe un esbozo más bien elemental, Wwm nació de ellos.

Ya lo he mencionado, hablamos de un entorno muy austero. Wwm añade a las ventanas una decoración sencilla, y como todo gestor de pila permite moverlas con libertad por el escritorio, cambiar sus dimensiones, o minimizarlas. Incluye la «caja de iconos» para recuperar esas ventanas minimizadas, una herramienta más o menos equivalente al gestor de iconos de Twm, y muy parecida a un menú de tareas. Y una utilidad para asociar acciones a pulsaciones determinadas del teclado. Y... No, chicos, esto es todo. Ya veis que las características de Wwm se resumen rápido: estaría en la línea de otros gestores minimalistas como Wm2 o Lwm.

Bueno, sí existe una cualidad bastante peculiar que mencionar: la funcionalidad de Wwm está dividida en varias partes diminutas que pueden emplearse de forma independiente. Así, el archivo ejecutable wwm invoca la cara visible del gestor de ventanas, que se limita estrictamente a decorarlas y no hace nada más. Para alterar el tamaño de una ventana, en cambio, hay que llamar a otro ejecutable, xresize. Luego tenemos a xiconify, que sirve para minimizarlas... Y así sucesivamente. De modo que Wwm consiste, en realidad, en el agregado de una docena de pequeños componentes destinados a las operaciones más básicas, y que uno esperaría encontrar integrados en un único programa.

La configuración de Wwm se efectúa mediante Xresources, algo habitual en los años noventa y que sigue los usos más antiguos del X Window System. Se trata de líneas de texto añadidas a los archivos ocultos ~/.Xdefaults o ~/.Xresources —los dos son válidos, aunque en sistemas modernos se da prioridad al segundo— que asignan valores a atributos muy concretos de una aplicación determinada. Por ejemplo, «Wwm.frame.foreground» especifica el color del texto que Wwm emplea para los títulos de las ventanas.

Aunque realmente no sería suficiente con eso. Este gestor de ventanas necesita una herramienta que identifique secuencias de teclas y las vincule a acciones concretas. Podría tratarse de keytools, distribuido con él, o de Xbindkeys, o de cualquier otro; da lo mismo, deben configurarse también.

Instalación

Bueno, se trata de código C de 1999; las personas que nacieron entonces ya son adultos enfrentándose al absurdo de la vida. Aun así he visto que puede compilarse sin problemas, incluso con una herramienta tan reciente como GCC 6.4.0. Basta con acceder al directorio src y teclear la orden «make». Antes de ello, sin embargo, querréis revisar el fichero Makefile, y en él cambiar el valor de DESTDIR a algo como «/usr/local/bin»; más que nada para poder instalar Wwm en el sistema tras la compilación —«make install» con permisos de administrador—.

Luego quedaría aprovechar los Xresources guardados en los archivos Wwm.ad y XIconBox.ad, para disfrutar así de una configuración mínimamente elaborada del gestor. Hay otras, pero la solución más obvia sería agregar los contenidos de ambos ficheros a ~/.Xdefaults o ~/.Xresources —según corresponda—; por ejemplo en una terminal podría darse la orden:

$ cat Wwm.ad XIconBox.ad >> ~/.Xdefaults

Captura de Wwm

El título de la ventana enfocada se dibuja con un relieve hundido para distinguirlo de los demás.


Y por último hace falta configurar también un programa que implemente los atajos de teclado. En el caso de keytools, el fichero keytools.example trae unos cuantos de muestra. Puede copiarse sin más a ~/.keytools.

Primeras impresiones

Wwm es muy simple y comprensible, mas yo en un principio me sentí un tanto desconcertado, porque... Eh, ¿qué pasa con mis ventanas? ¡No consigo hacer nada con ellas! Clicar con el ratón sobre la decoración no tiene absolutamente ningún efecto, ni siquiera traerlas a primer plano. Esto me sorprendió, vaya. De todos modos voy probando con curiosidad los diversos componentes independientes del gestor: muevo ventanas invocando a xmove desde una terminal, despliego la «caja de iconos» mediante xiconbox, etc.

El fichero doc/install, en el árbol de código fuente, es más bien lacónico pero me ayuda a entender algunas cosas imprescindibles:

Comprendido esto en mi segundo día de prácticas, ya logré desenvolverme con normalidad.

Eh, la decoración resulta muy sencilla —cuadrada, con un color plano—, pero incluye unos sutiles relieves. Y los títulos no tienen por qué abarcar toda la anchura de sus ventanas, pueden adoptar la forma de solapas... Wwm aún hace alguna concesión estética, después de todo. Además, el movimiento de las ventanas es transparente —esto es, se representa mediante una silueta, antes de efectuarse realmente—, pero al contrario que en otros gestores esa silueta destaca de un modo muy efectivo entre los demás elementos de la pantalla. Y eso me gusta, mucho.

Usando Wwm

Bueno, tratamos con los conceptos acostumbrados: ventanas flotantes con tamaños libres, minimizar y restaurar... No hay ninguna idea novedosa o extraña aquí. Incluso para los gustos de 1999 Wwm resultaba una interfaz sobria y conservadora.

Aunque su peculiar organización interna, esa división en partes independientes, condiciona en parte su funcionamiento. Cabe ilustrarlo así:

La herramienta que lee los eventos del eventos del teclado, keytools, permanece a la espera, y cuando detecta alguna de las combinaciones enumeradas en el archivo ~/.keytools realiza la acción correspondiente. ¿Quiero cerrar una ventana? La configuración por defecto —entendamos por tal cosa la suministrada como ejemplo en keytools.example— dice que debo pulsar [Alt] y [Retroceso]. Y cuando lo haga se llamará a otro de los componentes de Wwm, xclose, que es el encargado de presentar un diálogo de confirmación y cerrar en efecto esa ventana si mi respuesta fuera afirmativa. ¿Deseo, en cambio, traerla a lo alto de la pila? Entonces las teclas a pulsar serían [Alt] y [Av Pág], y entraría en escena la utilidad xraise.

Los lectores atentos ya se habrán dado cuenta: el ratón cumple con su papel, mas no es el protagonista aquí. Como ya he dicho arriba, las operaciones básicas se invocan siempre desde el teclado. En un gestor de pila se trata de una idea atípica que, bien implementada, quizás pueda resultar cómoda para algunos usuarios —véase el caso de Evilwm—. En Wwm... Oh, el problema principal radica en que no es posible prescindir totalmente del ratón, porque éste sigue resultando necesario para completar algunas acciones. Continuando con los ejemplos anteriores: ¿mover una ventana? Vale, pulso [Alt] y M, keytools reclama la intervención de xmove..., y ahora debo sacar una mano del teclado, ponerla sobre el ratón, y arrastrar con él la silueta de esa ventana por el escritorio para elegir su nuevo emplazamiento. Y así, siempre así: mi atención va bailando continuamente entre el teclado y el ratón para estos trámites triviales.

De modo que desenvolverse con Wwm no resulta difícil, pero sí innecesariamente engorroso y poco natural. También contribuye a eso el método que emplea el gestor para colocar las nuevas ventanas en el escritorio. ¿Intentar distribuirlas de modo que se tapen entre ellas lo menos posible? ¿Ordenarlas en cascada? No... Todas se abren en la esquina superior izquierda de la pantalla, así que normalmente el usuario debe moverlas después a un lugar más idóneo. Ugh...

No existen escritorios virtuales. Mi rutina habitual en otros entornos consiste en ir desperdigándome y repartiendo ventanas por ellos, utilizando uno diferente para cada tarea. Como esto no es una opción en Wwm, pues... Nada, a minimizar todo lo que no necesite, y ya de paso a abrir sólo lo imprescindible; porque con más de cinco o seis ventanas visibles en pantalla la sesión empieza a volverse irritante. Los programas que emplean interfaces de pestañas son muy útiles aquí.


Captura de Wwm

Cuando se recurre al método habitual para cerrar ventanas, xclose, Wwm solicita confirmación del usuario. Aunque se incluye un componente alternativo, xdestroy, que no lo hace.


Tampoco hay un menú de aplicaciones o similar, pero sí la posibilidad de definir atajos de teclado para ejecutar lo que sea. Yo acostumbro a mantener abierta en todas mis sesiones como mínimo una terminal, así que mi necesidad de menús resulta más bien escasa.

Y ahora un par de detalles que se me antojan importantes:

El manejo del foco es un tanto primitivo. Éste sigue al ratón, algo muy tradicional en los entornos gráficos de Unix. Sin embargo Wwm no tiene en cuenta para ello la decoración de las ventanas: si el puntero no se sitúa dentro de la ventana elegida —en el área que ocupa la aplicación cliente, quiero decir—, ésta no queda enfocada y por tanto no recibe la actividad del teclado. No vale pues señalar el título ni los bordes... Parece un inconveniente pequeñito, y en realidad supongo que lo es, pero despista bastante por su falta de lógica: para casi todos los demás gestores el título forma también parte de la ventana.

Wwm es muy viejo, y eso descarta cualquier compatibilidad con accesorios —paneles, menús, etc— modernos. Y aunque en los años noventa sí estaba vigente el ICCCM, tampoco se implementa aquí. Así que en esta ocasión no resulta muy viable construirse un escritorio a medida combinando partes de procedencias diversas. Siempre quedan opciones porque existe un puñado de utilidades que funcionan en cualquier entorno —Dzen , Xmtoolbar para disponer de una barra de iconos para iniciar aplicaciones rápidamente, o el más bonito y moderno Wbar , entre otras—, pero más allá, nada.

Opciones de personalización

Puede cambiarse la apariencia de la decoración de las ventanas: colores del texto y del fondo, tipo de letra empleado, si los títulos abarcarán toda la anchura de sus ventanas o se dibujarán como pestañas, etc. No suman realmente tantas opciones. Por otro lado xiconbox, la «caja de iconos» —así denominada por influencia de Mwm—, también admite unos pocos ajustes.

Y volvemos de nuevo a keytools: por supuesto resulta posible definir cuántos atajos de teclado estime el usuario convenientes. La única desventaja respecto a equivalentes más modernos —vuelvo a mencionar Xbindkeys — se encuentra en que éstos se apañan mejor con opciones de ejecución o secuencias de comandos. Xbindkeys puede ejecutar una orden compleja como «pkill wwm; sleep 1; wwm» para reiniciar el gestor, keytools por lo visto no.

Documentación

El autor dejó varios archivos de texto, muy cortos, que presentan Wwm y explican someramente cómo compilarlo e instalarlo. Nada más. Para aprender el uso práctico del gestor el usuario está solo; por suerte es fácil.

Aciertos

Inconvenientes


Captura de Wwm

Están vivos es una divertida película de 1988, que probablemente sería impensable estrenar hoy en cualquier cine importante.


Conclusión

Y esto es Wwm, el «weird window manager». Minimalista, muy minimalista, mas al mismo tiempo algo tosco. Le falta ergonomía. Con unos cuantos refinamientos, y un aprovechamiento más juicioso del teclado y el ratón, la experiencia del usuario sería mucho más confortable. En su estado actual, bueno, tienes algo así como un destornillador con un mango metálico y triangular. ¿Funciona? Sí. ¿Querrías usarlo todos los días? Pues probablemente no.

Importa poco. Wwm quedó abandonado en 1999 y en algún momento será engullido por el abismo del tiempo.

Quien desee un gestor de ventanas sin florituras, que haga lo imprescindible y aproveche al máximo los recursos del ordenador, puede probar Lwm, Wm2 o Matwm2, por ejemplo. Heliwm también jugaría en la misma liga que Wwm, aunque no me termina de gustar.

Anexo: Jws

Al comenzar el artículo he descrito muy por encima Jws, el proyecto del que desciende Wwm. Y ya puestos a rebuscar entre los trastos del sótano... ¿Qué tal era? ¿Qué hacía?


Captura de Jws

No puede faltar una captura de Jws, el proyecto hermano de Wwm: lucía tal que así. Me encanta la fuente empleada. En las terminales, el navegador Lynx , una partida a Nethack y las características de mi ordenador mediante Inxi .


No voy a añadir mucho a lo ya explicado al principio. He compilado Jws, lo he instalado, lo he configurado, y he intentado usarlo un par de ratos; así se resume toda mi experiencia. Aunque seguramente soy el único loco que lo ha hecho en lo que llevamos de 2020; preparaos pues para recibir mi extraña sabiduría.

Jws se apoya sobre el X Window System, aunque se trata de un entorno pensado para trabajar con texto. En un futuro lejano se supone que Czeranski iba a prescindir de ese requisito y Jws iba a funcionar en solitario, como la interfaz de un nuevo y flamante sistema operativo del que no se dan detalles en ningún sitio.

Un entorno de texto significa terminales y lo que pueda ejecutarse en ellas. Por ello el proyecto incluía su propio emulador de terminal, Jterm. Muy esquemático: nada de texto en color o recuadros, y por supuesto ni hablar de Unicode. Los programas basados en Ncurses funcionan, pero a menudo resultan inusables porque sus interfaces quedan ocultas bajo un montón de caracteres basura. Esta circunstancia limita mucho el atractivo de Jws, puesto que renunciar a Ncurses es dejar de lado muchísimo software útil. Sin embargo no todo es malo: Jterm incluye una fuente muy legible derivada del trabajo de Donald Knuth en TeX, que a mí se me hace realmente agradable.

En su estado actual lo único que puede ejecutarse directamente bajo Jws son réplicas de Jterm, tantas como se desee. La pantalla se divide verticalmente en dos mitades, y sólo dos de esas terminales resultarán visibles en ella un momento dado: las demás quedan ocultas, y se listan numeradas en la barra de estado. Para acceder a ellas hay que pulsar las combinaciones de teclas correspondientes. El ratón no sirve para nada, absolutamente para nada.

Por último, se contempla también la posibilidad de saltar entre Jws y el escritorio normal del X Window System, de nuevo mediante atajos de teclado reservados para esto.

¿Mi valoración? Un experimento con alguna faceta intrigante, pero demasiado incompleto, primitivo y arcaico para tener un interés práctico hoy. Incluso aunque el navegador de texto Elinks —el más completo de los de su clase— funcionara aquí sin problemas, seguirías sin poder utilizar el portal de servicios de tu banco.

Galería de imágenes

Como no existen apenas imágenes de Wwm en Internet adjunto unas cuantas más:

Captura de Wwm

Moviendo una ventana. Como puede apreciarse, la silueta que dibuja el gestor para representar ese movimiento resulta muy fácil de ver, y eso se agradece.

Captura de Wwm

Una estética diferente, con tonos verdes. Y de nuevo, el cuadrito para confirmar el cierre de una ventana.

Captura de Wwm

Wwm con algunos complementos: el panel Dzen en el borde superior del escritorio, y una barra de iconos para ejecutar aplicaciones llamada Xmtoolbar.

Captura de Wwm

Así presentaba Jörg Czeranski su gestor de ventanas. La decoración parece un poco diferente a la de la versión que he probado yo. (La captura no es mía, procede de la página oficial del proyecto).

Descargas

En realidad no haría falta ofrecer nada aquí, porque el código fuente del gestor sigue disponible en la página oficial y aún hoy puede compilarse sin problemas en un sistema actual. Pero es una descarga pequeñita que me costaba muy poco añadir:

Wwm 2.0, código fuente y binarios (x86) (para Linux):
En la carpeta bin están los ficheros ejecutables correspondientes, ya listos para usar. Para una instalación en el sistema habría que copiarlos manualmente a /usr/local/bin o similar.

 

Artículo escrito el 6 de marzo de 2020.


[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.