Skip to content
This repository has been archived by the owner on Oct 17, 2023. It is now read-only.
/ awesome-wayland Public archive

A curated list of Wayland code and resources.

License

Notifications You must be signed in to change notification settings

natpen/awesome-wayland

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

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

  • 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
  • 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

    • Surfer - Simple keyboard based webkit2gtk browser
    • wyeb - A vim-like webkit2gtk browser

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

  • Neochat - A Matrix client made with Kirigami
  • Ruqola - A Rocket.Chat client made with QtQuick/QML

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 support wlr-screencopy-v1 and xdg-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 support wlr-screencopy-v1 and xdg-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

  • Haruna - Video player built with Qt/QML and libmpv
  • mpv - Command line video player

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

License

CC0