Lua Libraries
SomeWM implements AwesomeWM's Lua API. The official AwesomeWM API documentation is the primary reference for all standard libraries.
This section documents SomeWM-specific extensions and notes any behavioral differences from AwesomeWM.
Core Libraries
| Library | Purpose | Docs |
|---|---|---|
| awful | Window management, keybindings, layouts, client rules | AwesomeWM docs ¹ |
| beautiful | Theming and appearance | AwesomeWM docs |
| wibox | Widgets, containers, and the wibar | AwesomeWM docs |
| naughty | Notifications | AwesomeWM docs |
| gears | Utilities (timers, shapes, colors, filesystem) | AwesomeWM docs ¹ |
¹ awful and gears span multiple categories in the AwesomeWM docs (input_handling, libraries, core_components, etc.)
SomeWM Extensions
These APIs are unique to SomeWM and not available in AwesomeWM:
| API | Purpose |
|---|---|
| awful.input | Runtime input device configuration |
| somewm-client | IPC command-line tool |
| output | Physical output objects that persist across disable/enable |
| layer_surface | Layer-shell surfaces (bars, launchers) and their rules |
| Shadows | Built-in drop shadows for clients and drawins |
| Lock, Idle & DPMS | C-level session lock, idle, and display power APIs |
| Lockscreen Module | The Lua lockscreen UI module |
| Tag Persistence | Signals and saved-state schema for tag persistence |
Other References
| Reference | Description |
|---|---|
| Screen | Screen objects, geometry, and scaling |
| Key Names | Modifier keys and key name reference |
| Signals | Event signals by object type |
| Default Keybindings | Built-in keyboard shortcuts |
| Deviations from AwesomeWM | Canonical status list: stubs, partials, SomeWM-only APIs |
| Wayland Protocols | Protocols somewm advertises to clients |