Awesome is a highly configurable window manager for X that uses Lua as its primary configuration language.
Awesome addresses the need for a window manager that prioritizes user customization and programmability. Rather than offering a fixed set of behaviors, it provides a framework where nearly all functionality can be modified through a configuration file written in Lua. Users create a rc.lua file in their config directory to define window layouts, keybindings, behavior rules, and visual appearance. This approach allows the window manager to adapt to diverse workflows and preferences without requiring changes to the core codebase.
Awesome suits developers and power users who want fine-grained control over their desktop environment and are comfortable writing configuration code. It works well for those running X11 systems who need a lightweight, scriptable alternative to heavier desktop environments. The project provides straightforward installation paths including standard build from source, distribution packages for Arch Linux and Debian-based systems, and clear documentation for advanced configuration. An example configuration file is included to help new users get started.
The project maintains an active bug tracker and welcomes contributions through pull requests with documented coding guidelines. Community support is available through multiple channels including an IRC channel, Stack Overflow, and a dedicated subreddit where users share configurations and ask questions. The codebase includes a test suite for validation, and comprehensive online API documentation is available for developers extending or configuring the window manager.