🖥️ Compositor Support
Ashell runs on any Wayland compositor. It ships dedicated integrations for the compositors it knows natively and falls back to a generic Wayland backend everywhere else. The right backend is selected automatically at startup, with no configuration required.
Dedicated integrations
Dedicated backends talk to the compositor's own IPC, so they expose the richest feature set, including compositor-specific concepts.
- Hyprland
- Niri
- MangoWC
Generic Wayland fallback
When no dedicated backend is detected, ashell uses a generic backend built on standard Wayland protocols. It works on any compositor that implements them, and each protocol is optional, and an unadvertised one simply disables the feature it backs.
| Protocol | Provides |
|---|---|
wl_output | Monitors |
ext-workspace-v1 | Workspaces (listing and switching) |
wlr-foreign-toplevel-management | Active window (title and class) |
Feature matrix
| Feature | Hyprland | Niri | MangoWC | Generic Wayland |
|---|---|---|---|---|
| Active window * | ✅ | ✅ | ✅ | ✅ |
| Workspaces | ✅ | ✅ | ✅ | ✅ |
| Keyboard layout | ✅ | ✅ | ✅ | ❌ |
| Keyboard submap | ✅ | ❌ | ✅ | ❌ |
A ❌ means the backend (or the underlying protocol) does not expose that feature; the corresponding module is simply unavailable on that compositor.
* The InitialTitle and InitialClass window-title modes rely on
Hyprland-specific data and are unavailable on the other backends, where the
title falls back to an empty value.