Skip to main content
Version: 2.0 (dev)

SomeWM Documentation

A Wayland compositor that brings AwesomeWM's Lua API to Wayland, built on wlroots. These docs cover everything from getting started to the full API reference.

What These Docs Aim to Be

SomeWM's documentation aims to be self-sufficient: a complete reference for SomeWM users, organized so you can find what you need without leaving.

  • Comprehensive. Every API surface AwesomeWM documents is, or will be, documented here.
  • Organized by task. We use the Diátaxis framework: tutorials (learning), how-to guides (doing), reference (looking up), and concepts (understanding), each kept separate. AwesomeWM's docs are LDoc-generated and do not draw these distinctions.
  • Honest about Wayland. Architectural differences from AwesomeWM, stubs, and SomeWM-only extensions are inline on the affected pages and indexed in Deviations.

We are not self-sufficient on every topic yet. If you hit a gap, file a discussion and we will prioritize it. See #532 for the conversation that started this work.

How to Use These Docs

This documentation attempts to follow the Diátaxis framework, organizing content into four distinct types:

TypePurposeWhen to use
TutorialsLearning through doingYou're new and want to learn step-by-step
How-To GuidesSolving specific problemsYou need to accomplish a particular task
ReferenceTechnical specificationsYou need exact details about an API or feature
ConceptsUnderstanding 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

ModuleDescription
InstallationBuild and install SomeWM
First LaunchRun SomeWM for the first time
MigratingComing from AwesomeWM? Start here

Tutorials

Step-by-step lessons to learn SomeWM from scratch.

ModuleDescription
BasicsCore concepts and configuration
KeybindingsSet up keyboard shortcuts
WidgetsBuild custom widgets
WibarConfigure the status bar
ThemeCustomize colors and appearance

How-To Guides

Practical recipes for specific tasks.

ModuleDescription
Input DevicesConfigure touchpad, mouse, and keyboard settings
CLI ControlControl SomeWM from external scripts
Multi-MonitorSet up multiple displays
AutostartLaunch applications on startup
NotificationsConfigure the notification system
ScreenshotsCapture screen content
Fractional ScalingHiDPI and fractional display scaling

Reference

Technical specifications and API details. Organized by Lua library, with links to upstream AwesomeWM docs.

ModuleDescription
Lua LibrariesOverview of all libraries with upstream links
awfulWindow management, keybindings, layouts
beautifulTheming and theme variables
wiboxWidgets and the wibar
naughtyNotifications
gearsUtilities (timers, shapes, colors)
Key NamesModifier keys and key name reference
somewm-clientIPC CLI tool (SomeWM-only)

Concepts

Background knowledge and architectural understanding.

ModuleDescription
Why SomeWMWhat this project commits to and what is open
ArchitectureHow SomeWM is structured
Object ModelUnderstanding the Lua object system
Wayland vs X11Key differences from X11
AwesomeWM CompatibilityWhat works and what differs

Versioning

The default docs match SomeWM 1.4, the current stable release, which tracks the AwesomeWM master branch. Use the version switcher in the navigation bar to view the 2.0 (dev) docs — SomeWM 2.0 is a Wayland-native rework that is not yet released.

The AwesomeWM apidoc remains a useful upstream reference for topics that are not yet self-sufficient here.