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.
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. That list is being maintained at mpsq/arewewaylandyet which is the repository for arewewaylandyet.com.
- SCOPE
- TABLE OF CONTENTS
- BARS
- BINDINGS
- BREAK NOTIFIERS
- BRIGHTNESS CONTROL
- CLIPBOARD MANAGERS
- COMPOSITORS
- DISPLAY CONFIGURATION
- EMULATION
- IMAGE VIEWING
- LAUNCHERS
- LIBRARIES
- NOTIFICATIONS
- ON-SCREEN KEYBOARDS
- REFERENCE APPLICATIONS
- SCREEN LOCKING
- SCREENCASTS
- SCREENSHOTS
- SESSION MANAGEMENT
- THEMING
- TOOLS
- WALLPAPER
- ags - A standalone library for creating GTK-based widgets
- creek - A dwm-inspired malleable and minimalist status bar for the River compositor
- deburr - A dwm-like status bar for wlroots-based Wayland compositors
- 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
- Ironbar - A customizable and feature-rich GTK bar for wlroots-based compositors
- levee - A fork of levee designed to be more malleable by allowing arbitrary text rather than built-in modules
- 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
- 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
- Wapanel - A simple panel/status bar/task bar for stacking Wayland-based desktops
- Waybar - A highly customizable bar for Sway and wlroots-based compositors
- wob - A lightweight overlay volume/backlight/progress/anything bar for wlroots-based Wayland compositors implementing the
wlr-layer-shell-unstable-v1
protocol - YaGoStatus - A replacement for i3status
- yambar - A lightweight and configurable status panel, inspired by polybar
- zenway - A sway bar alternative that overlays on top of workspaces
These are language-specific bindings for use with Wayland development.
- pywayland - A wrapper to the libwayland library
- Ianny - Periodically informs user to take breaks by keeping track of usage patterns
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
andxdg-output-unstable-v1
protocols - wluma - A tool for wlroots-based compositors that automatically adjust screen brightness based on screen contents and ambient light
- clapboard - A clipboard manager with support for images and saved entries
- cliphist - A clipboard history manager for Wayland
- clipman - A simple clipboard manager 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
- 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
- Cagebreak - A Wayland tiling compositor inspired by Ratpoison
- dwl - A wlroots-based rewrite of DWM for Wayland
- foxwhale - A tiling Wayland compositor based on wlroots
- gamescope - A wlroots-based Wayland compositor designed for SteamOS
- Greenfield - An HTML5 Wayland compositor that runs directly in the browser
- hikari - A hybrid stacking/tiling Wayland compositor based on wlroots
- 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
- japokwm - A wlroots-based dynamic tiling Wayland compositor based around creating layouts
- kiwmi - A fully programmable Wayland compositor
- 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
- newm-atha - A Wayland compositor written with laptops and touchpads in mind
- niri - A scrollable tiling Wayland compositor
- phoc - A wlroots-based Wayland compositor mostly used on mobile phones
- river - A dynamic tiling Wayland compositor
- stagen - An experimental wlroots-based Wayland compositor
- SwayFX - Sway, but with eye candy
- sway - An i3-compatible Wayland compositor
- tinybox - A window manager based on tinywl inspired by Blackbox, Fluxbox, and Openbox
- tinywl+ - A stacking Wayland compositor based on tinywl and a great starting place for compositor development
- velox - A simple window manager based on swc, inspired by dwm and xmonad
- Vivarium - A dynamic tiling Wayland compositor using wlroots, with desktop semantics inspired by xmonad
- volare - A tiling, tabbed Wayland compositor
- Waybox - An openbox clone on Wayland
- Wayfire - A 3D wlroots-based Wayland compositor inspired by Compiz
- Weston - A Wayland compositor designed for correctness, reliability, predictability, and performance
- wlmaker - A Wayland compositor inspired by Window Maker
- 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
- Wallutils - A set of utilities to handle monitors, resolutions, wallpapers, and timed wallpapers
- 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
- Waydroid - A container-based approach to boot a full Android system on GNU/Linux
- Swayimg - An image viewer for Sway/Wayland
- Anyrun - A GTK-based Wayland-native launcher, customizable via CSS
- bemenu - A dynamic menu library and client program inspired by dmenu
- dmenu-wayland - A wlroots-based dynamic menu for Wayland
- fuzzel - An application launcher for wlroots-based Wayland compositors, similar to rofi's
drun
mode - gmenu - A desktop application launcher
- kickoff - A wlroots-based application launcher
- LavaLauncher - A simple launcher panel for Wayland desktops
- Mauncher - A GTK-based alternative to dmenu for Wayland which supports display scaling
- mounch - A simple wofi/rofi launcher configured via YAML
- nwg-launchers - A GTK-based application grid launcher, button bar, and dmenu for Sway with a best effort for other Wayland environments
- rofi - A fork of rofi with Wayland support
- sirula - A simple application launcher for Wayland
- tofi - A dynamic menu replacement for dmenu or rofi for wlroots-based Wayland compositors
- walker - A GTK-based Wayland-native application runner
- 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
- client toolkit - A toolkit for writing Wayland clients in Rust
- Louvre - A library designed for building Wayland compositors in C++
- Mir - A set of libraries for building Wayland-based shells
- smithay - A compositor library for Wayland
- swc - A small Wayland compositor implemented as a library
- wld - A drawing library that targets Wayland
- wlroots - Pluggable, composable, and unopinionated modules for building a Wayland compositor
- 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
- 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
- wf-osk - A very, very basic on-screen keyboard using gtkmm and the
virtual-keyboard-unstable-v1
andwlr-layer-shell-unstable-v1
protocols - 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
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
- chayang - A screen dimmer that can be used to implement a grace period before locking the session
- gtklock - A GTK-based lockscreen for wlroots-based Wayland compositors using the
wlr-layer-shell-unstable-v1
andwlr-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 wlroots-based screen locking utility implementing the
ext-session-lock-v1
andwlr-screencopy-unstable-v1
protocols - Shaderlock - A wlroots-based screenlocker 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 - waylock - A small screenlocker for Wayland compositors implementing the
ext-session-lock-v1
protocol
- Kooha - Minimalistic screen recorder for Wayland sessions implementing the
org.freedesktop.impl.portal.ScreenCast
protocol - ssr-wlroots - A fork of SimpleScreenRecorder with support for wlroots-based compositors (more specifically, those that support
wlr-screencopy-unstable-v1
andxdg-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 - wayrec - A simple screen recorder using 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
andxdg-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
andwlr-screencopy-unstable-v1
protocols
- grim - Grab images from a Wayland compositor
- 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
- shotman - A screenshot GUI for Wayland compositors implementing
wlr-layer-shell-unstable-v1
,wlr-screencopy-unstable-v1
, andsingle-pixel-buffer-v1
protocols - slurp - Select a region in a Wayland compositor and print it to the standard output
- 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
- Weye - A lightweight screenshot tool for sway users
- SwayAudioIdleInhibit - Prevents swayidle from sleeping while any application is outputting or receiving audio, implementing the
idle-inhibit-unstable-v1
protocol - wlogout - A Wayland-based logout menu
- nwg-look - A GTK 3 settings editor designed to work properly in a wlroots-based environment
- 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
- lswt - List Wayland toplevels in both human readable and machine parsable formats via the
wlr-foreign-toplevel-management-unstable-v1
protocol - scenefx - A drop-in replacement for the wlroots scene-graph API that allows Wayland compositors to render surfaces with eye-candy effects
- 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 - wayland-py - A pure Python implementation of a Wayland client
- 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
- 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
- wlcs - A protocol-conformance-verifying test suite usable by Wayland compositor implementors
- wl-kbptr - A utility to help move the mouse pointer with the keyboard implementing the
wlr-layer-shell-unstable-v1
andwlr-virtual-pointer-unstable-v1
protocols - wlopm - A Wayland output power management tool implementing the
wlr-output-power-management-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
, andwlr-virtual-pointer-unstable-v1
protocols - wlr-which-key - A keymap manager 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 - 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
- Azote - A GTK 3-based picture browser and background setter supporting all wlroots-based Wayland compositors
- 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
- mpvpaper - A video wallpaper program for wlroots-based Wayland compositors
- rwpspread - A multi-monitor wallpaper utility spanning input wallpapers across all monitors, supporting all wlroots-based Wayland compositors and using
wpaperd
as the wallpaper daemon - swaybg - A wallpaper utility for Wayland compositors implementing the
wl_output
version 4 andwlr-layer-shell-unstable-v1
protocols - swww - An animated wallpaper daemon for Wayland, controlled at runtime and implementing the
wlr-layer-shell-unstable-v1
andxdg-output-unstable-v1
protocols - Wallutils - A set of utilities to manage monitors, resolutions, wallpapers and timed wallpapers
- 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