Awesome Wayland

A curated list of Wayland resources. Please investigate these projects on your own before fully committing to them!
This repository is a hard fork of natpen/awesome-wayland since it was archived on Oct. 17, 2023.
There are no current plans to apply to the
project for inclusion.
[!NOTE]
If you want to contribute, please read this.
SCOPE
[!IMPORTANT]
The scope of this repository aims to capture applications, libraries, etc. that are designed to support the Wayland ecosystem. This does not include existing applications that have implemented support for Wayland or applications that only invoke Wayland-based applications. That list is being maintained at mpsq/arewewaylandyet which is the repository for arewewaylandyet.com. An updated list is also available at gianklug/wearewaylandnow which is the repository for wearewaylandnow.com.
TABLE OF CONTENTS
BINDINGS
These are language-specific bindings for use with Wayland development.
BREAK NOTIFIERS
Ianny - Periodically informs user to take breaks by keeping track of usage patterns
BRIGHTNESS CONTROL
No Wayland-specific requirements, so you can use your Xorg solution of choice to control screen brightness, like brightnessctl, brillo, or just directly manipulate /sys/class/backlight.
Clight - Day/night gamma adjustments for Wayland compositors supporting wlr-gamma-control-unstable-v1; automatic screen backlight calibration to match ambient brightness using either webcam or ambient light sensor devices; screen dimming
Gammastep - A day/night gamma modifier that adjusts the color temperature of the screen
Luminance - A simple GTK application to control brightness of displays including external displays supporting DDC/CI
wl-gammactl - A GTK application to set contrast, brightness, and gamma using the wlr-gamma-control protocol
wlsunset - A day/night gamma adjustments for Wayland compositors supporting wlr-gamma-control-unstable-v1 and xdg-output-unstable-v1 protocols
wluma - A tool for wlroots-based compositors that automatically adjust screen brightness based on screen contents and ambient light
yabd - A simple brightness daemon compatible with Wayland compositors
CLIPBOARD MANAGERS
clapboard - A clipboard manager with support for images and saved entries
cliphist - A clipboard history manager for Wayland
clipward - A simple clipboard history manager implementing the ext-data-control-v1 protocol
clipz - A simple clipboard history manager implementing the wlr-data-control-unstable-v1 protocol
gemclip - A simple clipboard utility for Wayland implementing the wlr-data-control-unstable-v1 protocol
wayclip - A Wayland clipboard utility implementing the wlr-data-control-unstable-v1 protocol
wl-clipboard - Command-line copy/paste utilities for Wayland
wlclipper - A wlroots-based clipboard manager with persistence and synchronization
wlsnarf - A highly scriptable clipboard tool for wlroots-based compositors implementing the wlr-data-control-unstable-v1 protocol; includes a filesystem-based clipboard manager daemon with persistence
COMPOSITORS
Buzzay - A wlroots-based extensible Wayland compositor
Cagebreak - A Wayland tiling compositor inspired by Ratpoison
Cage - A Wayland compositor that runs a single application in maximized mode, particularly suitable for kiosk applications
cosmic-comp - A Smithay-based Wayland compositor designed for the COSMIC desktop environment
croissant - A wlroots-based stacking Wayland compositor
CwC - A highly configurable wlroots-based tiling window manager, inspired by AwesomeWM
doors - A Wayland compositor with floating, tiling, and scrolling layouts, inspired by bspwm
dwl - A wlroots-based rewrite of DWM for Wayland
fht-compositor - A dynamic tiling Wayland compositor
fluxland - A lightweight Wayland compositor inspired by Fluxbox
foxwhale - A tiling Wayland compositor based on wlroots
Gabbia - A Wayland compositor inspired by Cage that runs a single application in maximized mode, particularly suitable for kiosk applications
gamescope - A wlroots-based Wayland compositor designed for SteamOS
gogh - A lightweight Wayland compositor using Louvre
Greenfield - An HTML5 Wayland compositor that runs directly in the browser
hikari - A wlroots-based stacking Wayland compositor with tiling capabilities, forked from the original hikari
Hopalong - A simple Wayland compositor with a feature set comparable to XFWM
Hyprland - A dynamic tiling Wayland compositor that doesn't sacrifice on its looks
IonWL - A manual tiling Smithay-based Wayland compositor inspired by Ion3
Jay - A tiling Wayland compositor inspired by i3wm
kawa - A wlroots-based Wayland compositor inspired by Plan 9's Rio
kiwmi - A fully programmable Wayland compositor
LabFyre - A wlroots-based modular stacking and tiling Wayland compositor, forked from labwc
labwc - A wlroots-based stacking compositor for Wayland, inspired by openbox
LaikaWM - A lightweight compositor for Wayland inspired by IceWM and Fluxbox
Liri Shell - A convergent shell for desktops, phones, and tablets
Magpie v1 - A wlroots-based Wayland compositor designed for the Budgie desktop environment
mahogany - A StumpWM-like Wayland compositor
mangowm - A dwl-inspired Wayland compositor with lightweight animations and customizable layouts
marshmallow - A Wayland compositor with tablets and phones in mind
Mezzaluna - A minimal wlroots-based Wayland compositor configured using Lua
miracle-wm - A Mir-based tiling Wayland compositor
Miriway - A Mir-based Wayland compositor
musa - A Wayland compositor based on wlroots focusing on multiseat functionality
newm-atha - A Wayland compositor written with laptops and touchpads in mind
niri - A Smithay-based scrollable tiling Wayland compositor
Nyctal - A tiny, minimal-dependency Wayland compositor
nylon-compositor - A minimal wlroots-based Wayland compositor
PeachWM - A dwl-inspired wlroots-based Wayland tiling compositor
pinnacle - A Smithay-based Wayland compositor inspired by AwesomeWM
pudu - A minimal tiling Wayland compositor
river-classic - A fork of river 0.3 intended for users who do not want river 0.4+ features and breaking changes
river - A non-monolithic Wayland compositor
scroll - A wlroots-based scrollable Wayland compositor forked from sway with a layout similar to PaperWM and niri
stagen - An experimental wlroots-based Wayland compositor
steppewm - A minimal stacking wlroots-based Wayland compositor inspired by IceWM
SwayFX - Sway, but with eye candy
sway - An i3-compatible Wayland compositor
tiley - A customizable tiling Wayland compositor based on Louvre
tinywl - A re-implementation of tinywl
tinywl+ - A stacking Wayland compositor based on tinywl and a great starting place for compositor development
treeland - A wlroots-based Wayland compositor also based on Qt Quick
turtile - A simple and customizable wlroots-based tiling compositor
vdwl - A standalone, minimalist wlroots-based Wayland compositor originally forked from dwl
Vivarium - A dynamic tiling Wayland compositor using wlroots, with desktop semantics inspired by xmonad
volare - A tiling, tabbed Wayland compositor
vwl - A simple wlroots-based Wayland compositor originally forked from dwl
vwm - A wlroots-based Wayland compositor
Waybox - An openbox clone on Wayland
Wayfire - A 3D wlroots-based Wayland compositor inspired by Compiz
way-shell - A desktop shell based on GTK 4 for wlroots-based Wayland compositors
wayward - A lightweight desktop shell compatible with Weston
Weston - A Wayland compositor designed for correctness, reliability, predictability, and performance
wio - A wlroots-based Wayland compositor inspired by Plan 9's Rio
wless - A wlroots-based window-less Wayland compositor
wlmaker - A Wayland compositor inspired by Window Maker
Woodland - A minimal and lightweight wlroots-based stacking compositor, inspired by Wayfire and TinyWL
xerium - A fast and lightweight Wayland compositor
DISPLAY CONFIGURATION
Kanshi - A dynamic display configuration tool for Wayland similar to autorandr, usable on Wayland compositors supporting the wlr-output-management protocol
nwg-displays - An output management utility for sway and Hyprland, inspired by wdisplays and wlay
shikane - A wlroots-based dynamic output configuration tool similar to autorandr, usable on Wayland compositors supporting the wlr-output-management protocol
Wallutils - A set of utilities to handle monitors, resolutions, wallpapers, and timed wallpapers
wayland-displays - A GUI and CLI tool for managing display outputs on wlroots-based Wayland compositors implementing the wlr-output-management-unstable-v1 protocol
wayout - A simple output management tool for wlroots-based compositors implementing wlr-output-management-unstable-v1
wdisplays - A GUI application for configuring displays in wlroots-based compositors implementing the wlr-output-management-unstable-v1 protocol
wlay - Graphical output management for Wayland
wlr-randr - A utility to manage outputs of wlroots-based Wayland compositors, inspired by xrandr
EMULATION
pbemu - A container-based approach to run PocketBook firmware on GNU/Linux
Waydroid - A container-based approach to boot a full Android system on GNU/Linux
IMAGE VIEWING
Swayimg - An image viewer for Sway/Wayland
LAUNCHERS
Anyrun - A GTK-based Wayland-native launcher, customizable via CSS
basket - A minimal application launcher for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
bemenu - A dynamic menu library and client program inspired by dmenu
diowapplauncher - A simple application launcher for Wayland compositors implementing the xdg-shell protocol
diowmenu - A simple quick launch menu for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
dmenu-wayland - A wlroots-based dynamic menu for Wayland
emenu - An efficient menu for wlroots-based Wayland compositors
fuzzel - An application launcher for wlroots-based Wayland compositors, similar to rofi's drun mode
gmenu - A desktop application launcher
Hexecute - A gesture-based launcher for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
kickoff - A wlroots-based application launcher
lambdock - A configurable dock implementing the gtk4-layer-shell protocol for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
LavaLauncher - A simple launcher panel for Wayland desktops
lawnch - A lightweight extensible launcher for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
Mauncher - A GTK-based alternative to dmenu for Wayland which supports display scaling
mew - A dmenu-like dynamic menu for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
mounch - A simple wofi/rofi launcher configured via YAML
nwg-drawer - An application launcher for wlroots-based Wayland compositors implementing the gtk4-layer-shell protocol
nwg-launchers - A GTK-based application grid launcher, button bar, and dmenu for Sway with a best effort for other Wayland environments
nwg-menu - A simple menu implementing the gtk3-layer-shell protocol
sirula - A simple application launcher for Wayland
sysmenu - A simple program launcher for wlroots-based Wayland compositors, implementing the gtk4-layer-shell protocol
tofi - A dynamic menu replacement for dmenu or rofi for wlroots-based Wayland compositors
walker - A GTK-based Wayland-native application runner
waylauncher - A GTK-based application launcher implementing the gtk4-layer-shell protocol
waypiedock - A launcher dock, in the shape of a pie, under the mouse
wldash - A dashboard, launcher, or control panel for Wayland, using the wlr-layer-shell-unstable-v1 protocol
wmenu - A dynamic menu for Sway and wlroots-based compositors inspired by dmenu
yofi - A minimalistic menu for Wayland-based compositors
LIBRARIES
client-toolkit - A toolkit for writing Wayland clients in Rust
glace - A GTK-based library that aids in the management of Wayland clients such as docks and desktop widgets
gtk4-layer-shell - A library to create panels and other desktop components for Wayland using GTK 4 and the wlr-layer-shell-unstable-v1 protocol
gtk-layer-shell - A library to create panels and other desktop components for Wayland using GTK 3 and the wlr-layer-shell-unstable-v1 protocol
guile-wayland - A library that provides access to the Wayland protocol for applications written in GNU Guile Scheme
layer-shell-qt - A Qt-based library to allow applications to use the wlr-layer-shell-unstable-v1 protocol
Louvre - A library designed for building Wayland compositors in C++
Mir - A set of libraries for building Wayland-based shells
ocaml-wayland - An implementation of the Wayland protocol in OCaml
shimizu - A library for interfacing with the Wayland protocol
shoyu - A framework for wlroots-based, GTK-based Wayland implementations
smithay - A compositor library for Wayland
swc - A small Wayland compositor implemented as a library
Swingby - A small GUI library for Wayland client programming
wayland-dart - A Dart implementation of the Wayland client protocols
waylib - A Wayland compositor development library based on wlroots and Qt Quick
way-z - A client library and widget toolkit for wlroots-based Wayland applications written in Zig
wink - A library for creating windows responsive to input events
wld - A drawing library that targets Wayland
wleaf - A C23 abstraction library for writing Wayland clients
wlroots - Pluggable, composable, and unopinionated modules for building a Wayland compositor
Wrapland - A Qt-based wrapper library for the libwayland client and server APIs
zig-wlroots - Bindings to wlroots for Zig for developing Wayland compositors and clients
NOTIFICATIONS
Avizo - A simple notification daemon, mainly intended to be used for multimedia keys
dunst - A highly configurable and lightweight notification daemon
fnott - A keyboard-driven and lightweight notification daemon for wlroots-based Wayland compositors
histui - A themeable notification daemon with TUI and CLI options for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
luft - A lightweight notification daemon for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
mako - A lightweight notification daemon for Wayland implementing the wlr-layer-shell-unstable-v1 protocol
SwayNotificationCenter - A simple notification daemon with a GTK GUI for notifications and the control center implementing the wlr-layer-shell-unstable-v1 protocol
SwayOSD - A GTK-based OSD window for common actions like volume and Caps Lock
Toffi - A Qt-based notification server for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
ON-SCREEN KEYBOARDS
wf-osk - A very, very basic on-screen keyboard using gtkmm and the virtual-keyboard-unstable-v1 and wlr-layer-shell-unstable-v1 protocols
wkeys - An on-screen keyboard featuring a configurable layout and style for Wayland compositors supporting the gtk4-layer-shell protocol
wshowkeys - Displays keypresses on screen on Wayland compositors supporting the wlr-layer-shell-unstable-v1 protocol
wvkbd - An on-screen keyboard for wlroots-based compositors
REFERENCE APPLICATIONS
These are mainly for developers looking for example implementations.
go-wayland - A basic implementation of the Wayland protocol
vkwayland - A reference application for Vulkan and Wayland
wayland-py - A pure Python implementation of a Wayland client
zig-wayland - A basic implementation of the Wayland protocol for developing Wayland compositors and clients, including examples
SCREEN LOCKING
Anvilock - A simple screen-locker for Wayland compositors that support the ext-session-lock-v1 protocol
btrlock - A fast and minimal screen-locker
chayang - A screen dimmer that can be used to implement a grace period before locking the session
cthulock - A Slint-based customizable screen-locker for Wayland compositors implementing the ext-session-lock-v1 protocol
gtklock - A GTK-based lockscreen for wlroots-based Wayland compositors using the wlr-layer-shell-unstable-v1 and wlr-input-inhibitor Wayland protocols
hypridle - A wlroots-based idle management daemon implementing the ext-idle-notify-v1 protocol
hyprlock - A multi-threaded and GPU-accelerated screen locking utility for wlroots-based Wayland compositors implementing the ext-session-lock-v1 and wlr-screencopy-unstable-v1 protocols
Shaderlock - A wlroots-based screen-locker for Wayland utilizing GPU shaders
swayidle - An idle management daemon for Wayland which implements the ext-idle-notify-v1 protocol
swaylock-effects - A fork of swaylock which adds, built-in screenshots, image manipulation, and various other effects like blurring
swaylock - A screen locking utility for Wayland which implements the ext-idle-notify-v1 protocol protocol
veila - A screen-locker for wlroots-based Wayland compositors implementing the ext-session-lock-v1 protocol
waylock - A small screen-locker for Wayland compositors implementing the ext-session-lock-v1 protocol
wlgblock - An emulator-based screen-locker for Wayland compositors implementing the ext-session-lock-v1 protocol
wlock - A simple screen-locker for Wayland compositors that support the ext-session-lock-v1 protocol
SCREENCASTS
Kooha - Minimalistic screen recorder for Wayland sessions implementing the org.freedesktop.impl.portal.ScreenCast protocol
Lumina - A simple screen recorder for Wayland compositors implementing the ext-image-capture-source-v1, ext-image-copy-capture-v1, and xdg-output-unstable-v1 protocols
ssr-wlroots - A fork of SimpleScreenRecorder with support for wlroots-based compositors (more specifically, those that support wlr-screencopy-unstable-v1 and xdg-output-unstable-v1) - doesn't support recording area selection and has issues with multiple screens
wayfarer - A screen recorder for GNOME/Wayland/PipeWire implementing the org.freedesktop.impl.portal.ScreenCast protocol
wf-recorder - A utility program for screen recording of wlroots-based compositors (more specifically, those that support wlr-screencopy-unstable-v1 and xdg-output-unstable-v1)
wl-mirror - A simple Wayland output mirror client
wlrobs - A plugin for OBS Studio that allows screen capture on wlroots-based Wayland compositors
wl-screenrec - A screen recorder for wlroots-based Wayland compositors leveraging DMA-BUF and the DRM and implementing the wlr-output-management-unstable-v1 and wlr-screencopy-unstable-v1 protocols
SCREENSHOTS
cullpp - A minimal wlroots-based region selector implementing the wlr-layer-shell-unstable-v1 protocol
dulcepan - A screenshot tool for wlroots-based Wayland compositors, implementing the wlr-layer-shell-unstable-v1 and wlr-screencopy-unstable-v1 protocols
grabit - A screenshot, screen-recording, and OCR tool for wlroots-based Wayland compositors implementing the wlr-data-control-unstable-v1, wlr-layer-shell-unstable-v1, and wlr-screencopy-unstable-v1 protocols
grim - Grab images from a Wayland compositor
haruhishot - A screenshot utility for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 and wlr-screencopy-unstable-v1 protocols
samurai-select - A screen selection tool for wlroots-based Wayland compositors implementing wlr-layer-shell-unstable-v1
Satty - A screenshot annotation tool inspired by Swappy and Flameshot
Seto - A hardware-accelerated and keyboard-driven screen selection tool implementing the wlr-layer-shell-unstable-v1 protocol
shotman - A screenshot GUI for Wayland compositors implementing wlr-layer-shell-unstable-v1, wlr-screencopy-unstable-v1, and single-pixel-buffer-v1 protocols
slurp - Select a region in a Wayland compositor and print it to the standard output
sneemok - A screenshot annotation tool for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
still - A tool that freezes the screen until a provided command exits for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 and wlr-screencopy-unstable-v1 protocols
swappy - A Wayland-native snapshot editing tool, inspired by Snappy on macOS
Taiga - An animated screenshot program for wlroots-based Wayland compositors
Watershot - A simple Wayland-native screenshot tool inspired by Flameshot
Wayshot - A screenshot tool for wlroots-based compositors implementing wlr-screencopy-unstable-v1
waysip - An area selector for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
Weye - A lightweight screenshot tool for sway users
SESSION MANAGEMENT
nwg-bar - A Wayland-based logout menu implementing the gtk3-layer-shell protocol
SwayAudioIdleInhibit - Prevents swayidle from sleeping while any application is outputting or receiving audio, implementing the idle-inhibit-unstable-v1 protocol
wleave - A Wayland-based logout menu implementing the gtk3-layer-shell protocol
wlogout - A Wayland-based logout menu
THEMING
nwg-look - A GTK 3 settings editor designed to work properly in a wlroots-based environment
clipcell - A clipboard manager with support for text and image preview for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
dd99 Wayland Library - A Wayland protocol scanner
Door Knocker - A simple tool to check the availability of XDG portals in a running session
hyprpicker - A wlroots-compatible Wayland color picker
lan-mouse - A mouse and keyboard sharing software
ls-wayland - List the Wayland global environment
lswt - List Wayland toplevels in both human readable and machine parsable formats via the wlr-foreign-toplevel-management-unstable-v1 protocol
Meadhall - A Wayland utilities daemon designed to centralize communication
miru - A Wayland-native screen magnifier implementing the wlr-layer-shell-unstable-v1 and wlr-screencopy-unstable-v1 protocols inspired by boomer
randfall - A collection of Wayland clients to check how a compositor handles unusual client behavior
scenefx - A drop-in replacement for the wlroots scene-graph API that allows Wayland compositors to render surfaces with eye-candy effects
sway-fader - A tool that can be used to control transparency for focus and window events
Vigiland - An application implementing the idle-inhibit-unstable-v1 protocol
Waycheck - A simple application that displays all of the Wayland protocols supported and unsupported by the running compositor
waycorner - Hot corners for wlroots-based Wayland compositors implementing the xdg-output-unstable-v1 protocol
waydapt - A Wayland compositor protocol adapter that can proxy or filter communication between a compositor and one or more clients
wayland-debug - A command-line tool for debugging Wayland clients and servers
wayland-display-info - A lightweight user daemon that monitors Wayland outputs via the wlr-output-management-unstable-v1 protocol
waylevel - A simple debugging tool which prints Wayland toplevels and other compositor specific information
waynergy - An implementation of a synergy client for Wayland compositors
waypipe - A proxy for Wayland clients enabling application forwarding similar to ssh -X
wayprompt - A multi-purpose prompt tool for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wayvnc - A VNC server for wlroots-based Wayland compositors
wev - A tool for debugging events on a Wayland window, analogous to the X11 tool xev
whisper-overlay - A tool providing speech-to-text functionality for Wayland compositors implementing virtual-keyboard-unstable-v1 and wlr-layer-shell-unstable-v1 protocols
windowtolayer - A tool that individually transforms existing Wayland clients using the xdg-shell protocol into clients that use wlr-layer-shell-unstable-v1 instead to render as a wallpaper
wlcs - A protocol-conformance-verifying test suite usable by Wayland compositor implementors
wledges - A tool for managing screen edges on wlroots-based Wayland compositors implementing the gtk4-layer-shell protocol
wl-kbptr - A utility to help move the mouse pointer with the keyboard implementing the wlr-layer-shell-unstable-v1 and wlr-virtual-pointer-unstable-v1 protocols
wlopm - A Wayland output power management tool implementing the wlr-output-power-management-unstable-v1 protocol
wlosd - An on-screen display for Wayland compositors implementing the gtk4-layer-shell protocol
wlprobe - A utility for displaying information about the protocols supported by a Wayland compositor in a JSON format
wlr-board - A lightweight key overlay for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wlrctl - A command-line utility for miscellaneous wlroots-based Wayland extensions, supporting the wlr-foreign-toplevel-management-unstable-v1, virtual-keyboard-unstable-v1, and wlr-virtual-pointer-unstable-v1 protocols
wlr-which-key - A keymap manager for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wtype - A Wayland tool that allows keyboard input simulation like xdotool
xwayland-run - A set of utilities revolving around running Xwayland and various Wayland compositors headless
ydotool - A generic Linux command-line automation tool
WALLPAPER
awww - An animated wallpaper daemon for Wayland, controlled at runtime and implementing the wlr-layer-shell-unstable-v1 and xdg-output-unstable-v1 protocols
Azote - A GTK 3-based picture browser and background setter supporting all wlroots-based Wayland compositors
beanbag - A lightweight wallpaper application designed for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
btrbg - A basic wallpaper application for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
glshell - A shader display implementing the wlr-layer-shell-unstable-v1 protocol that can be used to create a simple overlay for a Wayland compositor, a status bar, or a wallpaper
Hyprpaper - A wallpaper utility with the ability to dynamically change wallpapers supporting all wlroots-based compositors
livebg - A shader-based live wallpaper application for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
mpvpaper - A video wallpaper program for wlroots-based Wayland compositors
neowall - A shader-based GPU-accelerated wallpaper engine for Wayland compositors implementing either the kde-plasma-shell or wlr-layer-shell-unstable-v1 protocols
rwpspread - A multi-monitor wallpaper utility spanning input wallpapers across all monitors, supporting Wayland compositors implementing xdg-output-unstable-v1 with integrations for wpaperd, swaybg, hyprpaper, swaylock, and hyprlock
swaybg - A wallpaper utility for Wayland compositors implementing the wl_output version 4 and wlr-layer-shell-unstable-v1 protocols
Wallutils - A set of utilities to manage monitors, resolutions, wallpapers and timed wallpapers
waul - A minimalistic wallpaper daemon for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wawa - A wallpaper setter for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
Waypaper - A GUI frontend for swaybg/swww to switch wallpapers
wbg - A simple wallpaper application for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wpaperd - A wallpaper daemon that shows random wallpapers from a directory and changes them after some time
yin - An efficient animated wallpaper daemon for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
ags - A standalone library for creating GTK-based widgets
animation-speech - A configurable transparent speech animation overlay for Wayland compositors implementing the wlr-layer-shell-unstable-v1 and gtk3-layer-shell protocols
Astal - A framework for creating GTK-based widgets for use with Wayland compositors
beanclock - A simple clock overlay for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
chocobar - A simple status bar for wlroots-based Wayland compositors
creek - A dwm-inspired fork of levee and minimalist status bar for the river-classic compositor designed to be more malleable by allowing arbitrary text rather than built-in modules
dam - A small status bar designed for river-classic and wlroots-based Wayland compositors
deburr - A dwm-like status bar for wlroots-based Wayland compositors
diowpanel - A simple panel for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
diowwindowlist - A simple GUI application for listing and activating the currently opened toplevels (application windows) in wlroots-based Wayland compositors implementing the wlr-foreign-toplevel-management-unstable-v1 and wlr-layer-shell-unstable-v1 protocols
Dvvidget - A widget system for Wayland compositors implementing the wlr-layer-shell-unstable-v1 and gtk4-layer-shell protocols
dynisland - An extensible bar for wlroots-based Wayland compositors implementing the gtk4-layer-shell protocol
ergo - A minimal status bar for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
Eww - A standalone widget system that allows for implementing custom widgets in any window manager
fabric - A GTK-based desktop widget framework
gBar - A status bar written with GTK
Hybridbar - A top panel forked from wingpanel for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
i3status-rust - A resource-friendly and feature-rich replacement for i3status
ignis - A widget system based on GTK 4 for Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
Ironbar - A customizable and feature-rich GTK bar for wlroots-based compositors
kitshell - A Flutter-based panel for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
labline - A status panel for Wayland compositors implementing the wlr-layer-shell-unstable-v1 and ext-workspace-v1 protocols
levee - A status bar for the river Wayland compositor, providing support for workspace tags, volume, battery capacity, and screen brightness via built-in modules
nwg-panel - A GTK 3-based panel for Wayland compositors
nwg-wrapper - A simple text-based wrapper that displays script or file output on the desktop of wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 and gtk3-layer-shell protocols
Root Bar - A bar for wlroots-based Wayland compositors such as sway
SFWBar - A flexible taskbar application for Wayland compositors, designed with a stacking layout in mind
sysbar - A modular status bar for wlroots-based Wayland compositors, implementing the gtk4-layer-shell protocol
syshud - A system status indicator for wlroots-based Wayland compositors, implementing the gtk4-layer-shell protocol
Tsumiki - A Fabric-based modular status bar for Hyprland
walrus-bar - A status bar for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
Wapanel - A simple panel/status bar/task bar for stacking Wayland-based desktops
Waybar - A highly customizable bar for Sway and wlroots-based compositors
way-edges - A lightweight application providing off-screen widgets hidden along the edges of the screen
wayloadmon - A load monitor widget for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wlclock - An analog clock for wlroots-based Wayland compositors, implementing the wlr-layer-shell-unstable-v1 protocol
wl_shimeji - A widget overlay for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wob - A lightweight overlay volume/backlight/progress/anything bar for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
wtw - A simple text widget for wlroots-based Wayland compositors implementing the wlr-layer-shell-unstable-v1 protocol
YaGoStatus - A replacement for i3status
zbar - A simple status bar for dwl implementing the wlr-layer-shell-unstable-v1 and dwl-ipc-unstable-v2 protocols
zenway - A sway bar alternative that overlays on top of workspaces
WINDOW MANAGERS
A number of window managers for Wayland are being developed using the river-window-management-v1 protocol. That list is being maintained within River's wiki.
tinybox - A window manager based on tinywl inspired by Blackbox, Fluxbox, and Openbox
velox - A simple window manager based on swc, inspired by dwm and xmonad