A curated list of Wayland-rs resources. Please investigate these projects on your own before fully committing to them!
This repository is a fork of rcalixte/awesome-wayland for people only interested in software built with rust.
There are no current plans to apply to the project for inclusion.
Note
If you want to contribute, feel free to open a PR.
- SCOPE
- TABLE OF CONTENTS
- 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
- WIDGETS (BARS, PANELS, ETC.)
These are language-specific bindings for use with Wayland development.
- None made from Rust
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.
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
gemclip - A simple clipboard utility for Wayland implementing the
wlr-data-control-unstable-v1protocol
catacomb - A Wayland Mobile Compositor
fht-compositor - A dynamic tiling Wayland compositor.
fireplace - Modular wayland window manager written in rust
Jay - A tiling Wayland compositor inspired by i3wm
niri - A Smithay-based scrollable tiling Wayland compositor
pinnacle - A Smithay-based Wayland compositor inspired by AwesomeWM
shikane - A wlroots-based dynamic output configuration tool similar to autorandr, usable on Wayland compositors supporting the
wlr-output-managementprotocolwayout - A simple output management tool for wlroots-based compositors implementing
wlr-output-management-unstable-v1
- None made from Rust
- None made from Rust
Anyrun - A GTK-based Wayland-native launcher, customizable via CSS
kickoff - A wlroots-based application launcher
lucien - Lucien is a refined application launcher tailored for Linux users who demand a premium experience.
sirula - A simple application launcher for Wayland
waylauncher - A GTK-based application launcher implementing the
gtk4-layer-shellprotocolwldash - A dashboard, launcher, or control panel for Wayland, using the
wlr-layer-shell-unstable-v1protocolyofi - A minimalistic menu for Wayland-based compositors
client-toolkit - A toolkit for writing Wayland clients in Rust
smithay - A compositor library for Wayland
moxnotify - Feature-rich hardware-accelerated keyboard driven Wayland notification daemon.
SwayOSD - A GTK-based OSD window for common actions like volume and Caps Lock
wkeys - An on-screen keyboard featuring a configurable layout and style for Wayland compositors supporting the
gtk4-layer-shellprotocol
These are mainly for developers looking for example implementations.
- None made from Rust
cthulock - A Slint-based customizable screen-locker for Wayland compositors implementing the
ext-session-lock-v1protocolShaderlock - A wlroots-based screen-locker for Wayland utilizing GPU shaders
Kooha - Minimalistic screen recorder for Wayland sessions implementing the
org.freedesktop.impl.portal.ScreenCastprotocolwl-screenrec - A screen recorder for wlroots-based Wayland compositors leveraging DMA-BUF and the DRM and implementing the
wlr-output-management-unstable-v1andwlr-screencopy-unstable-v1protocols
haruhishot - A screenshot utility for wlroots-based Wayland compositors implementing the
wlr-layer-shell-unstable-v1andwlr-screencopy-unstable-v1protocolsSatty - 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-v1protocolsWatershot - A simple Wayland-native screenshot tool inspired by Flameshot
Wayshot - A screenshot tool for wlroots-based compositors implementing
wlr-screencopy-unstable-v1waysip - An area selector for wlroots-based Wayland compositors implementing the
wlr-layer-shell-unstable-v1protocolWeye - A lightweight screenshot tool for sway users
wleave - A Wayland-based logout menu implementing the
gtk3-layer-shellprotocol
- None made from Rust
lan-mouse - A mouse and keyboard sharing software
Vigiland - An application implementing the
idle-inhibit-unstable-v1protocolwaycorner - Hot corners for wlroots-based Wayland compositors implementing the
xdg-output-unstable-v1protocolwaylevel - A simple debugging tool which prints Wayland toplevels and other compositor specific information
whisper-overlay - A tool providing speech-to-text functionality for Wayland compositors implementing
virtual-keyboard-unstable-v1andwlr-layer-shell-unstable-v1protocolswlr-which-key - A keymap manager for wlroots-based Wayland compositors implementing the
wlr-layer-shell-unstable-v1protocol
rwpspread - A multi-monitor wallpaper utility spanning input wallpapers across all monitors, supporting Wayland compositors implementing
xdg-output-unstable-v1with integrations forwpaperd,swaybg,hyprpaper,swaylock, andhyprlockswww - An animated wallpaper daemon for Wayland, controlled at runtime and implementing the
wlr-layer-shell-unstable-v1andxdg-output-unstable-v1protocolswpaperd - A wallpaper daemon that shows random wallpapers from a directory and changes them after some time
Dvvidget - A widget system for Wayland compositors implementing the
wlr-layer-shell-unstable-v1andgtk4-layer-shellprotocolsdynisland - An extensible bar for wlroots-based Wayland compositors implementing the
gtk4-layer-shellprotocolEww - A standalone widget system that allows for implementing custom widgets in any window manager
i3status-rust - A resource-friendly and feature-rich replacement for i3status
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-v1protocolway-edges - A lightweight application providing off-screen widgets hidden along the edges of the screen