awful
The awful library is the core of AwesomeWM's window management functionality. It handles keybindings, mouse bindings, client rules, layouts, tags, and more.
Upstream documentation: The awful library spans multiple sections in the AwesomeWM docs:
- input_handling - keybindings, mouse bindings
- libraries - spawn, layout, completion
- core_components - screen, client, tag
Key Modules
| Module | Purpose |
|---|---|
awful.key | Define keyboard shortcuts |
awful.button | Define mouse bindings |
| awful.layout | Tiling layouts |
awful.tag | Tag (workspace) management |
awful.client | Client (window) operations |
awful.screen | Screen management |
awful.spawn | Launch applications |
awful.prompt | Input prompts |
awful.menu | Context menus |
| awful.screenshot | Screenshot capture and interactive snipping |
Client rules live in ruled.client, not awful. SomeWM 2.0 deleted the awful.rules compatibility shim. See Client Rules.
SomeWM Extensions
| Module | Description |
|---|---|
| awful.input | Runtime input device configuration (pointer, keyboard) |
Behavioral Notes
SomeWM 2.0 removed legacy module aliases and functional helpers, including awful.rules and several awful.tag and awful.client wrappers. See removed API replacements. Wayland vs X11 explains platform differences that also affect some operations.