Wayfire

Usually I blog about compiz after a release but I wanted to share something different. There is a C++ wayland/wlroots compositor by Ilia Bozhinov in the works that has many compiz-like features. It’s called Wayfire and it has quite a few bells so far. It functions on a plugin based system much like compiz and the API is fairly nice. I’ve written wcm,  a configuration GUI for wayfire inspired heavily by ccsm. There are videos on the website at wayfire.org you can view to see the basics. It will only work with drivers offering gbm however, which basically means it works with open source drivers. Wayfire and wlroots are very much in development so the bleeding edge may not work but when it does, it’s fire.
General build guide for ubuntu 18.04:

1) Install dependencies from packages.

2) Install meson and ninja.

3) Export prefix, PATH and PKG_CONFIG_PATH variables.

4) Create the installation directory and change user and group so we can install the software as user. Also create a src directory to hold the source code.

5) Clone the source we will need.

5b) Checkout a compatible version of wlroots.

6) Build the source code.

7) Copy config files in place and modify them a bit.

Optionally set a background image in ~/.config/wf-shell.ini from your system.

8) Save this script as /usr/local/bin/wayfire.

8b) Make it executable.

9) Run it.

9b) Open an application. Either run a native terminal,

or an X11 one.

10) Optionally switch to tty to use the drm backend. Make sure your user is part of the video group to run as user.

11) Optionally create /usr/share/wayland-sessions/wayfire.desktop to login from lightdm.

Firefox nightly should work as a native browser. Ctrl+Alt+Bckspc to log out. Any questions should be asked in #wayfire on irc.freenode.net or an issue filed on github for the relevant component. To remove the compiled packages and source, remove /opt/wayfire/, ~/src/, /usr/local/bin/wayfire and /usr/share/wayland-sessions/wayfire.desktop.