Awesome
Awesome Wayland
A lightly-curated list of Wayland code and resources. Please investigate these projects on your own before fully committing to them! I have personal experience with some of the projects here, but for the others I rely heavily on the community for submissions, and generally just do a quick code search to see if it looks like the project supports Wayland natively.
If you want to contribute, please read this.
Table of contents
- Break Notifiers
- Brightness Control
- Browsers Without X Library Dependency
- Clipboard Managers
- Compositors
- Display Configuration
- Email Clients
- Emulation
- IM
- Image Viewers
- Key Binding Management
- Launchers
- Libraries
- Music Players
- Notifications
- On-screen Keyboards
- PDF Viewers
- Process Managers
- Screen Locking
- Screencasting
- Screenshots
- Session Management
- Status Bars
- Subtitle Editors
- Terminal Emulators
- Text Editors
- Tools
- Video Players
- Wallpaper
- License
Break Notifiers
- Ianny - Periodically informes 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, light, or just directly manipulate /sys/class/backlight
.
- Gammastep - Day/night gamma modifier that adjusts the color temperature of your screen.
- Wlsunset - Day/night gamma adjustments for Wayland compositors supporting wlr-gamma-control-unstable-v1
- 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.
- Luminance - A simple GTK application to control brightness of displays including external displays supporting DDC/CI
Browsers without X library dependency
-
Firefox and forks
- Firefox - For using Firefox on wayland just add
MOZ_ENABLE_WAYLAND=1
to your environment variables - Librewolf - An independent fork of Firefox, with the primary goals of privacy, security and user freedom
- Tor Browser - Tor Browser Bundle: anonymous browsing using Firefox and Tor
- Firefox - For using Firefox on wayland just add
-
QtWebEngine
- Crusta - Fast, modern and minimal desktop web browser with rich features
- Dooble - The weather bug browser. Minimal, cute, and unusually stable
- Falkon - KDE web browser
- Viper Browser - A lightweight browser using QtWebEngine
- Qutebrowser - a keyboard-focused browser with a minimal GUI
-
WebKit2GTK
Clipboard Managers
- copyq - CopyQ is an advanced clipboard manager with editing and scripting features.
- wayclip - Wayland clipboard utility
- wl-clipboard - Command-line copy/paste utilities for Wayland
Compositors
- Cagebreak - A Wayland tiling compositor inspired by Ratpoison
- Cardboard - A scrollable tiling Wayland compositor
- dwl - A rewrite of DWM for Wayland
- hikari - A hybrid stacking/tiling Wayland compositor
- Hyprland - Hyprland is 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
- KWin - KDE window manager and compositor
- labwc - A stacking Wayland compositor with look and feel of openbox
- Mutter - A window and compositing manager that displays and manages your desktop via OpenGL
- newm - A Wayland compositor written with laptops and touchpads in mind
- river - A dynamic tiling Wayland compositor
- Sway - i3-compatible Wayland compositor
- tinywl+ - A stacking wayland compositor based on tinywl. Great starting place for compositor development.
- Velox - Velox is 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
- Waybox - An openbox clone on Wayland
- Wayfire - 3D Wayland compositor
- Weston - Reference compositor for Wayland
- Qtile - A full-featured, hackable tiling window manager written and configured in Python, now supports wayland
Display Configuration
- Disman - General screen management software for different compositors based on KScreen
- Kanshi - Dynamic display configuration
- KScreen - KDE's screen management software
- kscreen-doctor - An xrandr-like utility for Plasma
- nwg-displays - Output management utility for sway Wayland compositor, inspired by wdisplays and wlay.
- swaymsg - General settings utility for Sway that also manages displays
- Wallutils - A set of utilities to manage monitors, resolutions, wallpapers and timed wallpapers
- wayout - A Simple tool to set output modes for wlroots compositors implementing zwlr_output_power_management_v1
- wdisplays - GUI display configurator for wlroots compositors
- wlay - Graphical output management for Wayland
- wlopm - Wayland output power management tool
- wlr-randr - An xrandr clone for wlroots compositors
Email Clients
- KMail - Feature-rich email client that supports many protocols
- Thunderbird - Standalone mail and news reader from mozilla.org
Emulation
- Waydroid - A container-based approach to boot a full Android system on GNU/Linux
IM
Image Viewers
- Gwenview - Image viewer by KDE
- imv - A command line image viewer for X11/Wayland
- Koko - Image viewer for desktop and mobile
- LXImage-Qt - Simple and fast image viewer in Qt
- mvi - A command line image viewer utilizing mpv
- oculante — A fast, unobstrusive portable image viewer
- Pix - Maui's image viewer for desktop and mobile
- Swayimg - Image viewer for Sway/Wayland
- vimiv - An image viewer with vim-like keybindings
Key Binding Management
- keyd - System-wide daemon to remap keys using kernel input primitives (evdev, uinput)
- swhkd - A display protocol-independent hotkey daemon
Launchers
- albert - A fast and flexible keyboard launcher
- bemenu - Dynamic menu library and client program inspired by dmenu
- dmenu-wayland - dmenu-wl is an efficient dynamic menu for wayland (wlroots)
- fuzzel - Application launcher for wlroots based Wayland compositors, similar to rofi's
drun
mode - kickoff - Application launcher with a focus on snappyness
- KRunner - Application launcher for Plasma
- LavaLauncher - A simple launcher panel for Wayland desktops
- Mauncher - A GTK-based alternative to dmenu for Wayland which supports display scaling
- nwg-launchers - A GTK-based application grid launcher, button bar and dmenu for Wayland
- sirula - Simple app launcher for Wayland written in Rust
- wldash - Wayland dashboard and launcher written in Rust
- Wofi - A launcher/menu program for wlroots based Wayland compositors such as sway
- yofi - A minimalistic menu for wayland
- rofi - A fork of rofi with Wayland support
- tofi - Tiny dynamic menu for Wayland
Libraries
- client toolkit - A toolkit for writing Wayland clients in Rust
- Mir - Mir is set of libraries for building Wayland based shells
- smithay - A modular smithy for making Wayland compositors in Rust
- swc - A library for making a simple Wayland compositor
- wld - A primitive drawing library targeted at Wayland
- wlroots - Pluggable, composable, unopinionated modules for building a Wayland compositor
Music Players
- Elisa - A music player that is simple, reliable, and a joy to use
- vvave - Maui's music player for desktop and mobile
Notifications
- avizo - Simple notification daemon, mainly intended to be used for multimedia keys
- fnott - Keyboard driven and lightweight Wayland notification daemon for wlroots-based compositors
- Mako - A lightweight Wayland notification daemon
- dunst - A highly configurable and lightweight notification daemon
- swaync - A simple notification daemon with a GTK gui for notifications and the control center
- wob - A lightweight overlay volume/backlight/progress/anything bar for Wayland
On-screen Keyboards
- wf-osk - A very, very basic on-screen keyboard using gtkmm, virtual-keyboard-v1 and layer-shell protocols
PDF Viewers
Process Managers
- Qps - Qt Process Viewer and Manager
Screen Locking
- gtklock - GTK-based lockscreen for Wayland
- swayidle - Idle management daemon for Wayland
- swaylock - Screen locker for Wayland
- swaylock-effects - A fork of swaylock with effects such as a blurred screenshot as background or a clock on the lockscreen
- waylock - A simple screenlocker for Wayland compositors
Screencasting
- GNOME ScreenCast - GNOME's default screen recorder embedded in Mutter
- Green Recorder - Screen recorder for GNOME (unmaintained!)
- Kooha - Minimalistic screen recorder for GNOME and Plasma using the xdg-desktop-portal ScreenCast protocol
- OBS Studio - Compositor-independent screen recorder with support for v4l2loopback
- Peek - An animated gif recorder for GNOME
- RecApp - Simple screen recorder for GNOME
- ssr-wlroots - A version of SimpleScreenRecorder with support for
wlroots
-based compositors (more specifically, those that supportwlr-screencopy-v1
andxdg-output
) - doesn't support recording area selection and has issues with multiple screens - wayfarer - Screen recorder for GNOME
- wayrec - Experimental screen recorder for Wayland using the freedesktop ScreenCast portal
- wf-recorder - A utility program for screen recording of
wlroots
-based compositors (more specifically, those that supportwlr-screencopy-v1
andxdg-output
) - wl-mirror - A simple Wayland output mirror client
- wl-screenrec - High performance wlroots screen recording, featuring hardware encoding
- wlrobs - An obs-studio plugin that allows you to screen capture on wlroots based wayland compositors
- wshowkeys - Displays keys being pressed on a Wayland session
Screenshots
- Flameshot - Powerful yet simple to use screenshot software (requires grim on wlroots)
- Grim - Grab images from a Wayland compositor
- ksnip - ksnip the cross-platform screenshot and annotation tool
- Shotman - Uncompromising screenshot GUI for Wayland compositors
- Slurp - Select a region in a Wayland compositor
- Spectacle - GUI application for capturing screenshots
- Swappy - A Wayland-native snapshot editing tool, inspired by Snappy on macOS
- Watershot - A simple wayland native screenshot tool inspired by Flameshot
- Wayshot - A screenshot tool for wlroots compositors implementing zwlr_screencopy_v1.
- Weye - A lightweight screenshot tool for sway users, written in Rust. This tool uses grimshot commands to screenshot
Session Management
- wlogout - A Wayland-based logout menu
Status Bars
- i3status-rust - Very resource-friendly and feature-rich replacement for i3status, written in pure Rust
- ironbar - A customisable and feature-rich GTK bar for wlroots compositors, written in Rust, supporting content-rich popoups.
- rootbar - Root Bar is a bar for wlroots based Wayland compositors such as sway
- sfwbar - Sway Floating Window Bar is a taskbar for Sway, focused on a stacking layout workflow
- waybar - Highly customizable Wayland bar for Sway and Wlroots based compositors
- yambar - Modular status panel for X11 and Wayland, inspired by polybar
- eww - Standalone widget system made in Rust that allows you to implement your own, custom widgets in any window manager.
Subtitle Editors
- Subtitle Composer - Current git builds include an ffmpeg-based video player fully Wayland native
Terminal Emulators
- Alacritty - A cross-platform, GPU-accelerated terminal emulator
- Ate - Awesome terminal emulator
- Foot - A fast, lightweight and minimalistic Wayland terminal emulator
- Germinal - Minimalist vte-based terminal emulator
- GNOME Terminal - A terminal emulator for GNOME
- Havoc - A minimal terminal emulator for Wayland
- Kitty - A cross-platform, fast, feature-full, GPU-based terminal emulator
- Konsole - Terminal emulator by KDE
- Termite - A keyboard-centric VTE-based terminal, aimed at use within a window manager with tiling and/or tabbing support (Termite is obsoleted by Alacritty!)
- wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer
- wterm - An st fork for wayland
- Xfce Terminal - A graphically-configurable terminal for Xfce
Text Editors
- FeatherPad - Lightweight and feature rich Qt plain-text editor
- Kate - Modern text editor built on the KDE Frameworks and Qt
- KWrite - Simple notepad-like editor based on Kate
- Nota - Maui's simple text editor for desktop and mobile
Tools
- lswt - List Wayland toplevels in both human readable and machine parsable formats
- waylevel - A simple debugging tool which lists compositor specific information.
- wev - A tool for debugging events on a Wayland window, analogous to the X11 tool xev
- wtype - A Wayland tool that allows you to simulate keyboard input like xdotool
- ydotool - A generic Linux command-line automation tool for Wayland
Video Players
Wallpaper
- mpvpaper - A video wallpaper program for wlroots based wayland compositors
- plasma-apply-wallpaperimage - A terminal utility to change wallpaper on Plasma
- swaybg - A wallpaper utility for Wayland compositors
- swww - A Solution to your Wayland Wallpaper Woes
- Wallutils - A set of utilities to manage monitors, resolutions, wallpapers and timed wallpapers
- waypaper - GUI frontend for swaybg/swww to switch wallpapers
- wpaperd - Wallpaper daemon that shows random wallpapers from a directory and changes them after some time
- wbg - Super simple wallpaper application for Wayland compositors