@Timidger Timidger released this Dec 24, 2017 · 412 commits to master since this release

Assets 3

This is the final release of Way Cooler that will utilize wlc. From this point forward, consider rust-wlc abandoned.

Way Cooler is switching to wlroots. You can follow the porting process on our wlroots-rs bindings repo. Once those bindings are complete, Way Cooler will switch to wlroots for v0.8.0. Once the move is complete, work will begin again on making Way Cooler function as a drop-in replacement for AwesomeWM.

To see all changes in this release, consult this milestone listing.


  • NixOS users can now enjoy a much more complete Way Cooler experince thanks to the work done by @gnidorah. (#446)
  • Install script from now properly sets the uid bit for non-systemd systems. (#398)
  • Raspberry Pi's are now officially supported. (#369)
  • It is now possible to compile Way Cooler for ArmV7 devices. (#445)

Extension Programs

Note that all of the extension programs (wc-bg, wc-lock, and wc-grab) have backward incompatible changes in this release. Previous versions will not work as expected!


The following changes take effect in this release:

  • The background program binary has been renamed to wc-bg (originally way-cooler-bg).
  • The background program now properly assigns backgrounds to all outputs.
  • A default background is now used when the background program is provided no arguments. Thanks to @platipo for the background contribution! (#141)
  • The background program no longer uses a hack in order to render but uses the standard desktop-shell Wayland protocol.
    • As a consequence, you can now use sway-bg on Way Cooler and wc-bg on Sway.


  • The lockscreen program no longer uses a hack in order to render but uses a modified version of the desktop-shell protocol.
    • It is modified so that we can lock multiple screens using an effect. This may change in the future, but that means we are non-standard compared to e.g Sway.
  • Added a fancy new blur effect that will blur the screen when it locks. (

Screenshot taker

Way Cooler


  • Can now choose whether root containers have borders or not. (#451)


  • Moved from hlua to rlua in preparation for AwesomeWM compatibility. (#378)
  • Updated wayland-rs to v0.12.0. (#452)
    • Fixes build error on some Ubuntu systems. (#452)
  • Updated petgraph to v0.4.7 (#400)
  • Updated rust-wlc.

WLC updates

  • Updated to use the latest pointer motion callback. This fixes the rounding bug that would cause the mouse to not perform as expected. (#453)
  • Can now copy text from/to pure Wayland and XWayland clients. (#328)

AwesomeWM Compatibility

  • Started preleminary work on AwesomeWM compatibilty. (#383, #396, #429, #423)
    • Most of this is setting up the OO and signal systems used by the Lua libraries. This is mostly complete and all that's left is implementing the interfaces.


  • Config directory now included in Lua's package.path (#352)
  • Defaulting to the pre-compiled configuration fallback now properly cleans up state from the previous Lua instance. (#382)


  • Tabbed/Stacked tiling made much more like i3. Special thanks to @Arnaz87 for putting the work in to fix the rendering! (#439, #450)
  • Floating containers no longer show in Tabbed/Stacked list. (#440)
  • Title bar now displayed correctly even when its value is different from the other border sizes. (#410)
  • Floating containers are now properly pulled forward again when focused. (#432, #412)
  • When a floating view is the focused view it is now properly displayed on top of other floating views (#415, #413)

Soundness fixes

  • Spawning programs no longer sometimes triggers a segfault. (#430)