SomeWM
A Wayland compositor that brings AwesomeWM's Lua API to Wayland, built on wlroots. The goal is 100% compatibility with AwesomeWM's Lua configuration.
How to Use These Docs
This documentation attempts to follow the Diátaxis framework, organizing content into four distinct types:
| Type | Purpose | When to use |
|---|---|---|
| Tutorials | Learning through doing | You're new and want to learn step-by-step |
| How-To Guides | Solving specific problems | You need to accomplish a particular task |
| Reference | Technical specifications | You need exact details about an API or feature |
| Concepts | Understanding the "why" | You want deeper knowledge of how things work |
Each section serves a different need. Pick the one that matches what you're trying to do.
Getting Started
| Module | Description |
|---|---|
| Installation | Build and install SomeWM |
| First Launch | Run SomeWM for the first time |
| Migrating | Coming from AwesomeWM? Start here |
Tutorials
Step-by-step lessons to learn SomeWM from scratch.
| Module | Description |
|---|---|
| Basics | Core concepts and configuration |
| Keybindings | Set up keyboard shortcuts |
| Widgets | Build custom widgets |
| Wibar | Configure the status bar |
| Theme | Customize colors and appearance |
How-To Guides
Practical recipes for specific tasks.
| Module | Description |
|---|---|
| Input Devices | Configure touchpad, mouse, and keyboard settings |
| CLI Control | Control SomeWM from external scripts |
| Multi-Monitor | Set up multiple displays |
| Autostart | Launch applications on startup |
| Notifications | Configure the notification system |
| Screenshots | Capture screen content |
| Fractional Scaling | HiDPI and fractional display scaling |
Reference
Technical specifications and API details. Organized by Lua library, with links to upstream AwesomeWM docs.
| Module | Description |
|---|---|
| Lua Libraries | Overview of all libraries with upstream links |
| awful | Window management, keybindings, layouts |
| beautiful | Theming and theme variables |
| wibox | Widgets and the wibar |
| naughty | Notifications |
| gears | Utilities (timers, shapes, colors) |
| Key Names | Modifier keys and key name reference |
| somewm-client | IPC CLI tool (SomeWM-only) |
Concepts
Background knowledge and architectural understanding.
| Module | Description |
|---|---|
| Architecture | How SomeWM is structured |
| Object Model | Understanding the Lua object system |
| Wayland vs X11 | Key differences from X11 |
| AwesomeWM Compatibility | What works and what differs |
About These Docs
SomeWM targets AwesomeWM git (not the v4.3 stable release). The official AwesomeWM API documentation applies directly to SomeWM and remains the primary reference for the Lua API.
These docs focus on getting started with SomeWM, SomeWM-only features, and Wayland-specific differences.