├── CONTRIBUTING.md ├── LICENSE.txt └── README.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Do you want to contribute? We'd love that. 4 | 5 | Our goal is to have mostly projects that are stable and useful to many users. 6 | 7 | ## How? 8 | 9 | The easiest way is to go to https://github.com/solarkraft/awesome-wlroots/blob/master/README.md and click on the "pen" icon in the upper right corner. Make the changes to the file and follow the instructions to create a pull request. 10 | 11 | If you want to add an entry to the `README.md` please consider this: 12 | 13 | - is the entry valuable to people trying to get things done in Wayland? 14 | - if you want to add something, please use the template `[YYY](https://github.com/XXX/YYY) — DESCRIPTION` 15 | - please pay attention to the alphabetical ordering. 16 | 17 | 18 | ## Removing projects 19 | 20 | We don't remove projects unless they are outright broken or pronounced deprecated by another project or by its author. 21 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome wlroots 2 | 3 | A list of tools and compositors around [wlroots](https://github.com/swaywm/wlroots). 4 | 5 | wlroots is a compositor library and defines a large and diverse ecosystem around [wlr-protocols](https://github.com/swaywm/wlr-protocols). 6 | 7 | This list is dedicated to cool stuff/useful tools for wlroots desktops. For general cool stuff and applications on Wayland check out [awesome-wayland](https://github.com/natpen/awesome-wayland). 8 | 9 | If you want to contribute, please read [this](CONTRIBUTING.md). 10 | 11 | ## Table of contents 12 | 13 | - [Brightness Control](#brightness-control) 14 | - [Clipboard Managers](#clipboard-managers) 15 | - [Compositors](#compositors) 16 | - [Configurations](#configurations) 17 | - [Display Configuration](#display-configuration) 18 | - [Docks](#docks) 19 | - [Keyboards](#keyboards) 20 | - [Launchers](#launchers) 21 | - [Miscellaneous](#miscellaneous) 22 | - [Notifications](#notifications) 23 | - [Remote control](#remote-control) 24 | - [Screen Locking](#screen-locking) 25 | - [Screencasting](#screencasting) 26 | - [Tools](#tools) 27 | - [Wallpaper](#wallpaper) 28 | - [License](#license) 29 | 30 | ## Brightness Control 31 | 32 | No Wayland-specific requirements, so you can use your xorg solution of choice to control screen brightness, like [brightnessctl](https://github.com/Hummer12007/brightnessctl), [brillo](https://gitlab.com/cameronnemo/brillo), [light](https://github.com/haikarainen/light), or just directly manipulate `/sys/class/backlight`. 33 | 34 | wlroots supports gamma setting through `wlr-gamma-control-unstable-v1`. 35 | 36 | * [gammastep](https://gitlab.com/chinstrap/gammastep) - Tints the display orange to reduce stress on the eyes (Redshift fork with wlroots compatibility patch) 37 | * [wluma](https://github.com/maximbaz/wluma) - Automatically adjusts screen brightness based on the screen contents and amount of ambient light 38 | * [wl-gammactl](https://github.com/mischw/wl-gammactl) - Control brightness, contrast and gamma 39 | * [wlr-brightness](https://github.com/mherzberg/wlr-brightness) - A dbus-controllable overlay to darken your screen 40 | * [Wlsunset](https://sr.ht/~kennylevinsen/wlsunset/) - Day/night gamma adjustments for Wayland compositors supporting wlr-gamma-control-unstable-v1. 41 | 42 | ## Clipboard Managers 43 | 44 | * [wl-clipboard](https://github.com/bugaevc/wl-clipboard) - Command-line copy/paste utilities for Wayland 45 | * [clipman](https://github.com/yory8/clipman) - A simple clipboard manager for Wayland 46 | 47 | ## Compositors 48 | 49 | * [Cagebreak](https://github.com/project-repo/cagebreak) - A Wayland tiling compositor inspired by Ratpoison 50 | * [Cardboard](https://gitlab.com/cardboardwm/cardboard) - A scrollable tiling Wayland compositor 51 | * [dwl](https://github.com/djpohly/dwl) - dwm for Wayland 52 | * [epd-wm](https://github.com/dj311/epd-wm) - Wayland window manager that outputs to IT8951 E-Paper displays. 53 | * [hikari](https://hikari.acmelabs.space/) - A hybrid stacking/tiling Wayland compositor 54 | * [Hopalong](https://github.com/iridescent-desktop/hopalong) - Simple Wayland compositor with a featureset comparable to XFWM 55 | * [Hyprland](https://github.com/hyprwm/Hyprland) - A dynamic tiling Wayland compositor that doesn't sacrifice on its looks 56 | * [kiwmi](https://github.com/buffet/kiwmi) - A fully programmable Wayland Compositor 57 | * [labwc](https://github.com/johanmalm/labwc) - A stacking Wayland compositor with look and feel of openbox 58 | * [laikawm](https://github.com/ianmartinez/laikawm) - A stacking Wayland compositor with look and feel of openbox 59 | * [phoc](https://source.puri.sm/Librem5/phoc) - Wayland compositor for mobile phones like the Librem 5 (designed to work with [phosh](https://source.puri.sm/Librem5/phosh)) 60 | * [river](https://github.com/ifreund/river) - A dynamic tiling Wayland compositor 61 | * [Sway](https://github.com/swaywm/sway) - i3-compatible Wayland compositor 62 | * [tinybox](https://github.com/icedman/tinybox) - tries to emulate the blackbox, fluxbox, openbox family of wm 63 | * [Waybox](https://github.com/wizbright/waybox) - An openbox clone on Wayland 64 | * [Wayfire](https://github.com/WayfireWM/wayfire) - 3D Wayland compositor 65 | * [wio](https://git.sr.ht/~sircmpwn/wio) - Wayland compositor similar to plan9's rio 66 | 67 | ## Configurations 68 | 69 | * [sway-gnome](https://github.com/Drakulix/sway-gnome) - Allows you to use Sway with GNOME 3 Session infrastructure 70 | 71 | 72 | ## Display Configuration 73 | 74 | * [Kanshi](https://github.com/emersion/kanshi) - Dynamic display configuration 75 | * [Wallutils](https://github.com/xyproto/wallutils) - A set of utilities to manage monitors, resolutions, wallpapers and timed wallpapers 76 | * [wdisplays](https://github.com/cyclopsian/wdisplays) - GUI display configurator for wlroots compositors 77 | * [wlay](https://github.com/atx/wlay) - Graphical output management for Wayland 78 | * [wlr-randr](https://github.com/emersion/wlr-randr) - An xrandr clone for wlroots compositors 79 | 80 | ## Docks 81 | 82 | [Cairo Dock (wayland_egl)](https://github.com/dkondor/cairo-dock-core/tree/wayland_egl) - Early port of the feature rich Cairo. Core features work. 83 | wf-dock (part of [wf-shell](https://github.com/WayfireWM/wf-shell)) - Very simple dock for application switching (no launching) 84 | 85 | 86 | 87 | 88 | ## Keyboards 89 | 90 | * [squeekboard](https://source.puri.sm/Librem5/squeekboard) - The Librem5 keyboard 91 | * [wf-osk](https://github.com/WayfireWM/wf-osk) - A very, very basic on-screen keyboard using gtkmm, virtual-keyboard-v1 and layer-shell protocols 92 | * [wvkbd](https://github.com/jjsullivan5196/wvkbd) - A "suckless" on screen keyboard 93 | 94 | ## Launchers 95 | 96 | * [bemenu](https://github.com/Cloudef/bemenu) - Dynamic menu library and client program inspired by dmenu 97 | * [dmenu-wayland](https://github.com/nyyManni/dmenu-wayland) - dmenu-wl is an efficient dynamic menu for wayland (wlroots) 98 | * [fuzzel](https://codeberg.org/dnkl/fuzzel) - Wayland-native application launcher, similar to rofi’s drun mode 99 | * [Kickoff](https://github.com/j0ru/kickoff) - Simple and uncomplicated program launcher heavily inspired by rofi 100 | * [LavaLauncher](https://git.sr.ht/~leon_plickat/lavalauncher) - A simple launcher panel for Wayland desktops 101 | * [Mauncher](https://github.com/mortie/mauncher) - A GTK-based alternative to dmenu for Wayland which supports display scaling 102 | * [nwg-launchers](https://github.com/nwg-piotr/nwg-launchers) - A GTK-based application grid launcher, button bar and dmenu for Wayland 103 | * [sirula](https://github.com/DorianRudolph/sirula) - Simple app launcher for Wayland written in Rust 104 | * [wldash](https://github.com/kennylevinsen/wldash) - Wayland dashboard and launcher written in Rust 105 | * [Wofi](https://hg.sr.ht/~scoopta/wofi) - A launcher/menu program for wlroots based Wayland compositors such as sway 106 | * [yofi](https://github.com/l4l/yofi) - Minimalistic menu 107 | 108 | ## Miscellaneous 109 | 110 | * [wl-color-picker](https://github.com/jgmdev/wl-color-picker) - Script providing a working color picker using grim and slurp 111 | * [wob](https://github.com/francma/wob/) - Light-weight overlay volume/backlight/progress/anything bar 112 | 113 | ## Notifications 114 | 115 | * [Mako](https://github.com/emersion/mako) - A lightweight Wayland notification daemon 116 | 117 | ## Remote control 118 | 119 | * [waynergy](https://github.com/r-c-f/waynergy) - An implementation of a synergy client for wlroots compositors ("not ready for primetime") 120 | * [wayvnc](https://github.com/any1/wayvnc) - A VNC server for wlroots based compositors 121 | 122 | ## Screen Locking 123 | 124 | * [shaderlock](https://github.com/Xenopathic/shaderlock) - Screen locker with GPU shaders 125 | * [swayidle](https://github.com/swaywm/swayidle) - Idle management daemon for Wayland 126 | * [swaylock](https://github.com/swaywm/swaylock) - Screen locker for Wayland 127 | * [swaylock-effects](https://github.com/mortie/swaylock-effects) - A fork of swaylock with effects such as a blurred screenshot as background or a clock on the lockscreen 128 | * [waylock](https://github.com/ifreund/waylock) - A simple screenlocker for Wayland compositors 129 | 130 | ## Screencasting 131 | 132 | * [ssr-wlroots](https://github.com/foxcpp/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. 133 | * [wf-recorder](https://github.com/ammen99/wf-recorder) - A utility program for screen recording of `wlroots`-based compositors (more specifically, those that support `wlr-screencopy-v1` and `xdg-output`) 134 | * [wlrobs](https://hg.sr.ht/~scoopta/wlrobs) - An obs-studio plugin that allows you to screen capture on wlroots based wayland compositors 135 | * [wshowkeys](https://git.sr.ht/~sircmpwn/wshowkeys) - Displays keys being pressed on a Wayland session 136 | * [xdg-desktop-portal-wlr](https://github.com/emersion/xdg-desktop-portal-wlr) - Share your screen through Pipewire 137 | 138 | ## Screenshots 139 | 140 | * [Grim](https://github.com/emersion/grim) - Grab images from a Wayland compositor 141 | * [Slurp](https://github.com/emersion/slurp) - Select a region in a Wayland compositor 142 | * [Swappy](https://github.com/jtheoof/swappy) - A Wayland-native snapshot editing tool, inspired by Snappy on macOS 143 | * [Taiga](https://hg.sr.ht/~scoopta/taiga) - Animated screenshot program 144 | 145 | 146 | ## Session Management 147 | 148 | * [wlogout](https://github.com/ArtsyMacaw/wlogout) - A Wayland-based logout menu 149 | 150 | ## Status Bars 151 | 152 | * [i3status-rust](https://github.com/greshake/i3status-rust) - Very resource-friendly and feature-rich replacement for i3status, written in pure Rust 153 | * [rootbar](https://hg.sr.ht/~scoopta/rootbar) - Root Bar is a bar for wlroots based Wayland compositors such as sway 154 | * [Wapanel](https://github.com/Firstbober/wapanel) - Simple panel for Wayland with decent XFCE-like applets 155 | * [waybar](https://github.com/Alexays/Waybar) - Highly customizable Wayland bar for Sway and Wlroots based compositors 156 | * wf-panel (part of [wf-shell](https://github.com/WayfireWM/wf-shell)) - Panel with support for application launchers 157 | * [YaGoStatus](https://github.com/denysvitali/yagostatus) - Yet Another i3status replacement 158 | * [yambar](https://gitlab.com/dnkl/yambar) - Modular status panel for X11 and Wayland, inspired by polybar 159 | 160 | ## Tools 161 | 162 | * [wtype](https://github.com/atx/wtype) - A Wayland tool that allows you to simulate keyboard input like [xdotool](https://github.com/jordansissel/xdotool) 163 | * [ydotool](https://github.com/ReimuNotMoe/ydotool) - A generic Linux command-line automation tool for Wayland 164 | 165 | ## Wallpaper 166 | 167 | * [Azote](https://github.com/nwg-piotr/azote) - Picture browser and background setter frontend to swaybg 168 | * [oguri](https://github.com/vilhalmer/oguri) - A very nice animated wallpaper daemon for Wayland compositors 169 | * [mpvpaper](https://github.com/GhostNaN/mpvpaper) - A video wallpaper program for wlroots based wayland compositors 170 | * [swaybg](https://github.com/swaywm/swaybg) - A wallpaper utility for Wayland compositors 171 | * [wbg](https://codeberg.org/dnkl/wbg) - Super simple wallpaper application for Wayland compositors implementing the layer-shell protocol 172 | * wf-background (part of [wf-shell](https://github.com/WayfireWM/wf-shell)) - Simple wallpaper program supporting switching of images 173 | 174 | ## License 175 | 176 | [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 177 | --------------------------------------------------------------------------------