Wayland
General
- Wayland is intended as a simpler replacement for X, easier to develop and maintain. GNOME and KDE are expected to be ported to it. Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. The compositor can be a standalone display server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or other display servers.
Part of the Wayland project is also the Weston reference implementation of a Wayland compositor. Weston can run as an X client or under Linux KMS and ships with a few demo clients. The Weston compositor is a minimal and fast compositor and is suitable for many embedded and mobile use cases.
- https://en.wikipedia.org/wiki/Wayland_(display_server_protocol) - a computer protocol that specifies the communication between a display server and its clients, as well as a reference implementation of the protocol in the C programming language. A display server using the Wayland protocol is called a Wayland compositor.Wayland is developed by a group of volunteers initially led by Kristian Høgsberg as a free and open community-driven project with the aim of replacing the X Window System with a modern, simpler windowing system in Linux and other Unix-like operating systems. The project's source code is published under the terms of the MIT License, a permissive free software licence
- Drew DeVault’s Blog: The future of Wayland, and sway’s role in it
- https://github.com/MirServer/wlcs - Wayland Conformance Test Suite
- https://github.com/emersion/hello-wayland - A hello world Wayland client, 2018 edition
Libraries
wlroots
- https://github.com/swaywm/wlroots - A modular Wayland compositor library
smithay
- https://github.com/Smithay/smithay - aims to provide building blocks to create wayland compositors in Rust. While not being a full-blown compositor, it'll provide objects and interfaces implementing common functionnalities that pretty much any compositor will need, in a generic fashion.
Compositors
Weston
- https://gitlab.freedesktop.org/wayland/weston - A lightweight and functional Wayland compositor
sway
- Sway - tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. It works with your existing i3 configuration and supports most of i3's features, plus a few extras.
- https://github.com/greole/sway-alternating-layout - Scripts to open new windows in sway using alternating layouts (splith/splitv) for each new window
Way Cooler
2016
Based on Awesome, Lua
Tiny Wayland
2018
adwc
- https://github.com/detomastah/adwc - adwm clone, dead
dwl
- https://github.com/djpohly/dwl - a compact, hackable compositor for Wayland based on wlroots. It is intended to fill the same space in the Wayland world that dwm does in X11, primarily in terms of philosophy, and secondarily in terms of functionality
Waybox
- https://github.com/wizbright/waybox - An openbox clone on Wayland (WIP)
labwc
- https://github.com/johanmalm/labwc - Openbox alternative for Wayland
wayfire
taiwins
- https://github.com/taiwins/taiwins - a wayland window manager, supports both tiling and floating layout. It is designed to be mordern and modular. It is extensible through lua script and it has built-in shell and widgets implementation through nuklear GUI. It also supports popular tiling window manager features like gapping.
river
- https://github.com/ifreund/river - a dynamic tiling wayland compositor that takes inspiration from dwm and bspwm. Zig.
Mahogany
- https://github.com/stumpwm/mahogany - a tiling window manager for Wayland modeled after StumpWM. While it is not a drop-in replacement for stumpwm, stumpwm users should be very comfortable with Mahogany
Orbment
- https://github.com/Cloudef/orbment - modular compositor for Wayland with flexible plugin architecture where plugins may co-operate with each other. The core consist of small code base which provide plugin management, and hooks api for plugins. Core plugins are used to provide functionality you would expect from bare bones tiling window manager.
kiwmi
- https://github.com/buffet/kiwmi - a work-in-progress extensive user-configurable Wayland Compositor. kiwmi specifically does not enforce any logic, allowing for the creation of Lua-scripted behaviors, making arduous tasks such as modal window management become a breeze. New users should be aware of the steep learning curve present, however this will be reduced as the project matures.
xuake
- https://github.com/Sasquatch-Labs/xuake - WYGIWYG Wayland Compositor
Grefsen
- https://github.com/ec1oud/grefsen - a Qt/Wayland compositor providing a minimal desktop environment.
Cage
- Cage - a kiosk compositor for Wayland. A kiosk is a window manager (in the X11 world) or compositor (in the Wayland world) that is designed for a user experience wherein user interaction and activities outside the scope of the running application are prevented. That is, a kiosk compositor displays a single maximized application at a time and prevents the user from interacting with anything but this application.
Wio
Taiwins
- https://github.com/taiwins/taiwins - dynamic wayland window manager, supports both tiling and floating layout. It is designed to be modern and modular. It is extensible through lua script and it has built-in shell and widgets implementation through nuklear GUI. It also supports popular tiling window manager features like gapping.
Greenfield
- https://github.com/udevbe/greenfield - HTML5 Wayland compositor seedling
waymonad
- https://github.com/waymonad/waymonad - We all love tiling window managers and most of all we love xmonad. As you may know, wayland is trying to replace X11. This brings problems for us, since xmonad will not work with the new architecture. This project is intended to provide a wayland based desktop which shares the ideals and experience from xmonad.
hikari
- hikari - a stacking Wayland compositor which is actively developed on FreeBSD but also supports Linux. [5]
Cagebreak
- https://github.com/project-repo/cagebreak -A Wayland Tiling Compositor Inspired by Ratpoison
Cardboard
- https://gitlab.com/cardboardwm/cardboard -a unique, scrollable tiling Wayland compositor designed with laptops in mind. Based on wlroots.
labwc
- https://github.com/labwc/labwc - a wlroots-based stacking compositor aiming to be lightweight and independent, with a focus on simply stacking windows well and rendering some window decorations. It relies on clients for wallpaper, panels, screenshots, and so on to create a full desktop environment.Labwc tries to stay in keeping with wlroots and sway in terms of general approach and coding style.In order to avoid reinventing configuration and theme syntax, the openbox-3.4 specification is used. This does not mean that labwc is an openbox clone but rather that configuration files will look and feel familiar.
Utilities
wlogout
- https://github.com/ArtsyMacaw/wlogout - A wayland based logout menu
wtype
- https://github.com/atx/wtype - xdotool type for wayland
ydotool
- https://github.com/ReimuNotMoe/ydotool - Generic command-line automation tool (no X!)
wdisplays
- https://github.com/cyclopsian/wdisplays - GUI display configurator for wlroots compositors
wayland-debug
- https://github.com/wmww/wayland-debug - A command line tool to help debug Wayland clients and servers
wob
- https://github.com/francma/wob - A lightweight overlay volume/backlight/progress/anything bar for Wayland.
wofi
- https://hg.sr.ht/~scoopta/wofi - a launcher/menu program for wlroots based wayland compositors such as sway
MPVPaper
- https://github.com/GhostNaN/mpvpaper - A video wallpaper program for wlroots based wayland compositors.
hyprpicker
- https://github.com/hyprwm/hyprpicker - A wlroots-compatible Wayland color picker that does not suck.
lxqt-labwc-session
- https://github.com/stefonarch/lxqt-labwc-session - an experimental LXQt wayland session using the labwc compositor. Settings for waybar's wlr/taskbar or yatbfw panel are also provided. Should not interfere with existing LXQt X11 sessions.
Extra
- nwg-shell | Installer, updater & meta-package for the nwg-shell project: a GTK3-based shell for sway Wayland compositoraims to create a consistent, GTK3-based user interface for the sway Wayland Compositor. In order to give the user the greatest possible choice, some interface elements provide several alternative solutions. Just installed shell contains a bunch of presets, which can then be freely modified.
Screenshots
- https://github.com/emersion/grim - Grab images from a Wayland compositor
- https://github.com/emersion/slurp - Select a region in a Wayland compositor and print it to the standard output.