AwesomeWM es un gestor de ventanas de tiling altamente configurable escrito en Lua y basado en el servidor X. Su filosofía se centra en ofrecer un entorno ligero, rápido y totalmente adaptable mediante archivos de configuración en lenguaje de programación. Este artículo te guiará desde la instalación hasta la personalización avanzada, mostrando cómo aprovechar al máximo sus características para crear un flujo de trabajo eficiente y estéticamente agradable.
¿Qué es AwesomeWM?
AwesomeWM pertenece a la familia de los gestores de ventanas de tiling, lo que significa que organiza automáticamente las aplicaciones en diseños no superpuestos, aprovechando todo el espacio de la pantalla. A diferencia de los entornos de escritorio tradicionales, no incluye barras de tareas ni menús prediseñados; todo se construye a través del archivo rc.lua. Esta arquitectura permite a los usuarios definir comportamientos específicos mediante código, lo que resulta en una personalización sin límites.
Instalación en distribuciones populares
- En Ubuntu o Debian:
sudo apt install awesome - En Fedora:
sudo dnf install awesome - En Arch Linux:
sudo pacman -S awesome - En openSUSE:
sudo zypper install awesome
Tras la instalación, inicia sesión seleccionando Awesome desde el gestor de display (GDM, LightDM, SDDM, etc.). Al entrar, verás un escritorio minimalista con una barra superior (wibox) y un teclado listo para ser configurado.
Estructura básica del archivo de configuración
El archivo principal se encuentra en ~/.config/awesome/rc.lua. Al copiar la plantilla predeterminada (/etc/xdg/awesome/rc.lua) a tu directorio personal, puedes comenzar a modificarla sin afectar al sistema.
Algunas secciones clave:
- variables: definición de fuentes, colores, bordes y modificadores.
- layouts: arreglos de tiling como layout.suit.tile, layout.suit.floating, layout.suit.max y más.
- tags: espacios de trabajo equivalentes a escritorios virtuales, cada uno con su propio layout predeterminado.
- menú y lanzadores: creación de un menú de aplicaciones y atajos de teclado.
- wibox: barra superior o inferior donde se agregan widgets como reloj, batería, uso de CPU y bandeja del sistema.
Personalizando tags y layouts
Los tags permiten organizar tus aplicaciones por proyecto o tipo de tarea. Por ejemplo, puedes crear un tag para desarrollo, otro para navegación y uno para multimedia. En rc.lua define la tabla tags así:
tags = {
names = { ' Dev', ' Web', ' Docs', ' Chat', ' Misc' },
layout = { layouts[1], layouts[2], layouts[1], layouts[1], layouts[3] }
}
Cada nombre puede incluir símbolos de fuentes como Font Awesome para darle un toque visual. Los layouts se asignan por tag, pero puedes cambiar dinámicamente con ModKey + Space o mediante funciones Lua personalizadas.
Agregando y configurando widgets en la wibox
La wibox es la barra donde se muestra información del sistema. Los widgets se crean con la biblioteca wibox.widget. Algunos ejemplos comunes:
- Reloj: wibox.widget.textclock
- Batería: wibox.widget.battery (requiere el paquete awesome-widgets o script propio)
- Uso de CPU: awful.widget.watch combinado con mpstat
- Volumen: awful.widget.volume
- Bandeja del sistema: wibox.widget.systray
Para añadirlos, crea un wibox por pantalla y asigna su propiedad widgets con una tabla ordenada de izquierda a derecha:
mywibox[s] = awful.wibar({ position = 'top', screen = s })
mywibox[s]:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
mylauncher,
mytaglist[s],
mypromptbox[s],
}
mytasklist[s], -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
mykeyboardlayout,
wibox.widget.systray,
mytextclock,
}
}
Con este enfoque puedes reordenar, ocultar o mostrar widgets según tus necesidades.
Atajos de teclado y reglas de clientes
AwesomeWM permite vincular cualquier acción a combinaciones de teclas mediante la tabla keys. Por ejemplo:
- ModKey + Return abre la terminal predeterminada.
- ModKey + Shift + c cierra el cliente enfocado.
- ModKey + t fuerza el modo flotante para la ventana actual.
- ModKey + Shift + r recarga la configuración sin cerrar la sesión.
Además, puedes definir reglas que se apliquen automáticamente cuando se abra una aplicación, como establecer su tag, modo flotante o bordes específicos:
awful.rules.rules = {
{ rule = { class = 'Firefox' },
properties = { tag = tags[1][2], switchtotag = true } },
{ rule = { class = 'Gimp' },
properties = { floating = true } }
}
Esto garantiza que Firefox siempre abra en el tag de desarrollo y que Gimp se comporte como ventana flotante.
Recursos y comunidad
La documentación oficial (
Conclusión
AwesomeWM ofrece una combinación única de ligereza, potencia y flexibilidad que lo convierte en una opción ideal para usuarios que desean controlar cada aspecto de su entorno de trabajo en Linux. Aunque la curva de aprendizaje inicial puede parecer empinada debido a su enfoque basado en Lua, la inversión se traduce en un escritorio altamente eficiente, estéticamente personalizable y totalmente adaptado a tu flujo de trabajo. Con los conceptos y ejemplos presentados aquí, ya estás listo para explorar, modificar y llevar tu experiencia con AwesomeWM al siguiente nivel.


