• Awesome

Versión analizada

3.2.1, aparecida el 4 de abril de 2009.

Se han publicado muchas más desde entonces, pero ésta es la última compatible con mi edición del X Window System —concretamente con mi versión de XCB—, que no deseo actualizar por motivos de hardware. Y sí, estamos en 2017, lo sé...

Página oficial

https://awesomewm.org/

Estado actual

Cuenta con un desarrollo bastante animado y una dinámica comunidad de usuarios a su alrededor. De modo que sí, vivo y activo. Se trata además de un proyecto conocido dentro del pequeño mundo de los gestores de ventanas para Unix.

Características resumidas

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

Descripción


Captura de Awesome

Vale, es un escritorio vacío en el que no hay mucho que ver: el tema visual que usa Awesome por defecto, el menú original y un fondo que viene incluido en el paquete.


Awesome tiene un nombre molón y es un gestor de ventanas de mosaico. Lo cual significa que, a diferencia de las interfaces de escritorio más convencionales, encaja las ventanas en una cuadrícula de modo que queden todas visibles sin obstaculizarse unas a otras. Vamos, ésa es al menos la idea básica, porque luego existen muchas formas de implementarla.

Pierre Habouzit y Julien Danjou comenzaron su desarrollo en 2006, aunque parece que unos años después pasaron el testigo a otras personas. Nació como una variante de Dwm que buscaba dejar atrás el minimalismo del original e introducir características nuevas —véase el anuncio que hizo Danjou en 2007 —, y a ello se han dedicado los diferentes autores durante la década transcurrida desde entonces. Por ejemplo, Awesome fue el primer gestor de ventanas que adoptó la biblioteca XCB en lugar de la clásica Xlib; aunque reconozco que este detalle sólo importará a los interesados en los entresijos del X Window System, y probablemente no hay muchos... En fin, lo que quiero dejar claro es que se trata de un proyecto dinámico que ha evolucionado con rapidez, abierto a las innovaciones.

Paso a enumerar los rasgos principales de Awesome:

Nótese que muchos de estos puntos los comparten otros gestores de mosaico: los tags, por citar uno, proceden directamente de Dwm; y el manejo opcional de ventanas flotantes es una característica bastante común.

La configuración de Awesome se guarda en el fichero ~/.config/awesome/rc.lua, que como muchos lectores ya supondrán consiste en eso, un script de Lua en el que se especifican los atajos de teclado, el tema visual elegido, el contenido de la barra de estado, y muchas otras cosas. El resto del código Lua que regula el funcionamiento del gestor se almacena durante la instalación en /usr/local/share/awesome, mas resulta de escaso interés para el usuario corriente.

Primeras impresiones


Captura de Awesome

Un mosaico con el área principal a la izquierda, ideal cuando en la pantalla sólo hay texto. Fijaos en la decoración —opcional— que añade el gestor a las ventanas.


Mi sistema es ya viejo, y encontrar una versión de Awesome para él me costó un poco de ensayo y error: quería usar una lo más actual posible para hacerme una idea de cómo es el gestor en 2017. Al final ha sido la 3.2.1, aparecida en 2009, y para compilarla tuve que renovar parte de mi instalación del X Window System. Y ahora, mientras escribo este artículo, los desarrolladores han publicado la 4.2... Sí, me quedo atrás.

¡Eh, parece Dwm! Una barra de estado en el borde superior, división vertical de la pantalla, incluso unos colores similares...

Ahora, como los demás gestores de mosaico que he probado hasta ahora, se trata de una interfaz poco hospitalaria para el recién llegado. El funcionamiento básico de muchos escritorios con ventanas flotantes puede deducirse improvisando un par de ratos con el ratón, pero Awesome y similares requieren lecturas atentas al manual y memorizar diversas combinaciones de teclas. Sí, al principio uno se siente un poco perdido con ellos, hay un periodo inevitable de aprendizaje y adaptación que quizás dure unos días.

También reconozco que nunca he tocado Lua, y un primer vistazo a mi fichero ~/.config/awesome/rc.lua me dejó completamente desorientado. «Buff, esto será difícil», pensé...

Usando Awesome

Funcionamiento general

Bien, el gestor de mosaico típico trata de ocupar siempre todo el espacio del monitor. Cuando abráis la primera ventana de la sesión ésta abarcará el escritorio entero, sin dejar rincones vacíos; si aparece una segunda, ambas se repartirán el espacio de una forma más o menos equitativa. Y a partir de la tercera entra en juego lo que explicaré a continuación.

Veamos, Awesome divide el escritorio en dos zonas diferentes: tenemos por un lado el área principal o master area, pensada para mostrar ampliadas una o dos ventanas que en un momento dado requieran más atención, y luego el área de pila o stacking area, en la que se amontonan las demás. ¿Cómo se traduce esto en la práctica? Pues, por ejemplo, yo suelo colocar mi navegador gráfico —Opera, generalmente— en el área principal, para poder leer con comodidad en un recuadro de un tamaño razonable, y un par de terminales para ejecutar cosas apartadas en la de pila. Naturalmente resulta posible mover una ventana de un área a otra con ayuda del ratón o la combinación de teclas indicada.


Captura de Awesome

Puedes hacer muchas cosas en un gestor de mosaico que no impliquen textos —en este caso, trabajar con el escáner—, aunque a veces sea un poco complicado.


En este sentido no existen demasiadas diferencias entre Awesome, Dwm, Xmonad y otras interfaces similares: basan sus mosaicos en esta misma premisa, zona principal y zona de pila. Awesome permite que la primera quede en la mitad izquierda, derecha, superior o inferior de la pantalla, así que ofrece una considerable flexibilidad. En monitores panorámicos tal vez resulten más cómodas las dos primeras opciones; en cambio, el mío posee una forma más cuadrada —1280 píxeles de ancho por 1024 de altura—, y yo tiendo a preferir las particiones horizontales.

Otra cuestión importante que aclarar es que Awesome cuenta con un manejo dinámico de los mosaicos. Esto significa que, más allá de escoger la distribución general a emplear y ajustar algunos parámetros —tamaño del área principal respecto a la de pila, cantidad de ventanas que se incluirán en ella—, el usuario carece de un control minucioso sobre el mosaico: para ilustrar esto comentaré que la extensión exacta de las celdas se decide de forma automática, según el número de ventanas abiertas en cada zona. Y como contraste podemos fijarnos un momento en el funcionamiento manual de gestores como Ion, en los que uno divide y redimensiona celdas a su antojo.

Facetas concretas, mi experiencia

Bien, los autores ya avisan... Traduzco de la página oficial:

«[Awesome] está principalmente enfocado a usuarios avanzados, desarrolladores, o cualquier otra persona que en sus tareas informáticas diarias desee tener un control riguroso de su entorno gráfico».

«Usuarios avanzados»... Es decir, no se trata de software para las masas: Awesome, como la mayoría de gestores de su tipo, espera de ti unos conocimientos previos —lenguaje Lua, mayormente—, o en su defecto buena disposición para aprender. Una persona que de repente se enfrente a él sin haber probado antes otra cosa que Gnome va a sentirse desorientada. Insisto, leer la documentación es casi obligatorio.

Y eso que, al contrario que otros gestores de mosaico, Awesome permite cierto control con el ratón. No mucho, por otra parte: pero uno puede arrastrar ventanas de una celda a otra, o controlar cuáles pertenecen a cada tag y qué tags se hallan visibles en pantalla. Aunque yo tiendo de forma natural al teclado, reconozco que esta funcionalidad está bien pensada: resulta intuitiva y de hecho me sirvió de ayuda mientras me familiarizaba con el manejo del gestor.

Además, ¡hay un menú de aplicaciones! Accesible clicando sobre el icono de Awesome —en la configuración por defecto, en la esquina superior izquierda—, o sobre el fondo del escritorio.

Respecto a la configuración... Vale, como ya he dicho arriba, llegué aquí sin la menor experiencia con Lua. Y la verdad es que me parece una buena elección: se trata de un lenguaje de programación relativamente sencillo y amigable. Lo veo más accesible para un novato que el Haskell de Xmonad, y por supuesto que el Scheme de GWM y similares. Prueba de ello es que me bastaron un par de ratos para improvisar mis propias chapuzas. En concreto, una segunda barra de información en el borde inferior de la pantalla con la temperatura del procesador, el número de procesos activos en el sistema, el uso de memoria RAM, y el pronóstico del tiempo en localidades cercanas.


Captura de Awesome

Otra estética diferente, con azules más alegres —tema «Sky»—. En este ejemplo el área principal queda arriba, reservada para el navegador Opera. Hay además una ventana flotante, el diálogo de búsquedas de Beaver.


¿Más cosas? Bien, si os fijáis en las capturas que adornan este texto, comprobaréis que Awesome puede añadir de forma opcional un título a cada ventana. A mí me gusta, aunque robe un poco de espacio de la pantalla: hace más útil el ratón y viene bien para cerrar aplicaciones. Y también existe una barra de tareas que agiliza algunas acciones muy ocasionales, como traer a primer plano ventanas flotantes que hayan quedado ocultas bajo el mosaico.

Sí, ventanas flotantes, de esas que el usuario arrastra libremente por el escritorio... Porque no todos los programas admiten de buen grado quedar encajados en una celda de dimensiones arbitrarias: algunos —videojuegos, aplicaciones para manipular imágenes, etc— tienen ciertos requerimientos respecto al tamaño de sus interfaces. Awesome también ha pensado en ellos. La diferencia aquí respecto a otros gestores similares —Xmonad, Dwm— es que estas ventanas no flotan necesariamente por encima del mosaico, sino que pueden esconderse debajo.

Y casi voy a terminar ya con este apartado. He convivido con Awesome casi un mes, y pasada la primera semana felizmente. El defecto más notorio que se me ocurre ahora está en los atajos de teclado que vienen definidos por defecto, en mi opinión incómodos y poco intuitivos: me ha costado acostumbrarme a ellos, vaya. Por supuesto admiten cambios, así que no voy a quejarme mucho.

Opciones de personalización

Hablamos de un gestor de ventanas configurable mediante un lenguaje de programación —Lua—, así que todas las que a uno se le puedan ocurrir... La contrapartida, claro, es que esto requiere un tiempo y unos conocimientos que no todo el mundo posee ni está interesado en adquirir. Aunque ya he dicho antes que Lua resulta relativamente fácil de aprender, el interesado debería familiarizarse también con el funcionamiento interno de Awesome.

De hecho, para demostrar las posibilidades que ofrece esta combinación de Lua con los recursos del gestor, un colaborador preparó... ¡Una réplica de Invaders! Sí, el clásico videojuego de disparar a la horda de marcianitos desde la parte inferior de la pantalla. Echadle un vistazo al fichero /usr/local/share/awesome/lib/invaders.lua.

Temas visuales, modelo de enfoque, algoritmos para construir mosaicos, menús, barras de información... En fin, todo, todo admite cambios.

Por lo demás puede ocurrir que una configuración concebida para una edición de Awesome no funcione en otra diferente, al menos si son un poco distantes. Como muestra, los temas escritos para Awesome 3.4 resultan incompatibles con la versión 3.2.1 que he probado yo, aunque adaptarlos me costó muy poco.

Documentación

Hay una página de manual que explica el uso básico del gestor y enumera los atajos de teclado establecidos por defecto: esquemática, pero útil para dar los primeros pasos. La acompañan dos más, dedicadas al fichero de configuración y a awesome-client —una línea de comandos desde la que darle órdenes directas a Awesome—, pero éstas ya las encuentro más prescindibles porque apenas dan información.

La gente deseosa de profundizar y hacer sus propios inventos con Lua debería acudir a la página oficial del proyecto y buscar allí, en la sección Recipes: sobre todo My First Awesome Setup.

Aciertos


Captura de Awesome

Tres terminales. En la mitad superior y área principal, una partida a Nethack; abajo, el navegador Elinks .


Inconvenientes

Conclusión

Awesome me agrada, y lo considero un proyecto interesante. Se trata de un gestor de mosaico muy refinado; y aunque como todos ellos requiere paciencia y estudio, posiblemente sea uno de los más recomendables para alguien no iniciado en el mundillo. Yo de todos modos sigo prefiriendo Wmii.

Como otras interfaces de su clase, claro, resulta ideal para aquellos usuarios que trabajen mayormente con texto —programadores, escritores, etc—, y se amolda peor a otras necesidades.

Galería de imágenes

Casi todas mis capturas de Awesome pesan poquito y no van a acaparar mucho espacio en el servidor; de modo que, ¿por qué no añadirlas?

captura de Awesome

Así es Lua, con el resaltado de sintaxis que hace Vim. En la terminal de la izquierda edito mi archivo de configuración, en la de la derecha observo la réplica de Invaders que se programó para Awesome.

Captura de Awesome

Los temas visuales modifican colores, iconos y el fondo del escritorio; para este último detalle recurren a alguna utilidad externa, normalmente awbgset, incluida con el gestor. Se admiten transparencias en los elementos de la interfaz.

Captura de Awesome

Ventanas flotantes, que hacen más cómodo el manejo de algunos programas. Y también podéis ver mi menú desplegado.

Captura de Awesome

Sesión concurrida con una ventana flotante —Xnetload, en el extremo inferior— y otras cinco ordenadas en mosaico. El libro que aparece a la izquierda, The Waste Makers, tiene su interés.

Captura de Awesome

En esta otra modalidad de trabajo, llamada magnifier, una ventana aparece destacada a gran tamaño sobre todas las demás.

Captura de Awesome

Otros gestores de mosaico no lo permiten, pero en Awesome sí es posible distribuir ventanas en el área de pila en varios niveles, como se ve aquí en la mitad inferior de la pantalla.

Captura de Awesome

La página web que aparece en el navegador muestra una tabla muy aseada que resume los atajos de teclado del gestor. En las terminales de la derecha intento entender el código Lua de la configuración.

Captura de Awesome

Un problema común en gestores de mosaico es el de pequeños accesorios que se ven obligados a encajar en la cuadrícula con dimensiones absurdas. En este ejemplo, Xfrun4 ocupa más de la mitad del escritorio.

 

Artículo escrito el 24 de julio de 2017.


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