Sway 0.9 & One year of Sway

Published 2016-08-02 on Drew DeVault's blog

Today marks one year since the initial commit of Sway. Over the year since, we’ve written 1,823 commits by 54 authors, totalling 16,601 lines of C (and 1,866 lines of header files). This was written over the course of 515 pull requests and 300 issues. Today, most i3 features are supported. In fact, as of last week, all of the features from the i3 configuration I used before I started working on Sway are now supported by Sway. Today, Sway looks like this (click to expand):

For those who are new to the project, Sway is an i3-compatible Wayland compositor. That is, your existing i3 configuration file will work as-is on Sway, and your keybindings and colors and fonts and for_window rules and so on will all be the same. It’s i3, but for Wayland, plus it’s got some bonus features. Here’s a quick rundown of what’s happened since the previous state of Sway:

  • Stacked & tabbed layouts
  • Customizable input acceleration
  • Mouse support for swaybar
  • Experimental HiDPI support
  • New features for swaylock and swaybg
  • Support for more i3 IPC features
  • Tracking of the workspace new windows should arrive on
  • Improved compatibility with i3
  • Many improvements to the documentation
  • Hundreds of bug fixes and small improvements

Since the last State of Sway, we’ve also seen packages land in the official repositories of Gentoo, OpenSUSE Tumbleweed, and NixOS (though the last group warn me that it’s experimental). And now for some updated stats. Here’s the breakdown of lines of code per author for the top ten authors (with the change from the previous state of Sway in parens):

4659 (+352)Mikkel Oscar Lyderik
3024 (-35)Drew DeVault
2232 (+53)taiyu
1786 (-40)S. Christoffer Eliesen
1090 (+1090)Zandr Martin
619 (-63)Luminarys
525 (-19)Cole Mickens
461 (-54)minus
365 (-20)Christoph Gysin
334 (-11)Kevin Hamacher

Notably, Zandr Martin has started regular contributions to Sway and brought himself right up to 5th place in a short time, and while he’s still learning C to boot. Not included here are his recent forays into contributing to our dependencies as well. Thanks man! This time around, I also lost a much more respectable line count - only 35 compared to 457 from the last update.

Here’s the total number of commits per author for each of the top ten committers:

842 Drew DeVault
239 Mikkel Oscar Lyderik
186 taiyu
97 Luminarys
91 S. Christoffer Eliesen
58 Christoph Gysin
48 Zandr Martin
30 minus
25 David Eklov
24 Mykyta Holubakha

Most of what I do for Sway personally is reviewing and merging pull requests. Here’s the same figures using number of commits per author, excluding merge commits, which changes my stats considerably:

383 Drew DeVault
224 Mikkel Oscar Lyderik
170 taiyu
96 Luminarys
91 S. Christoffer Eliesen
58 Christoph Cysin
38 Zandr Martin
30 minus
25 David Eklov
24 Mykyta Holubakha

These stats only cover the top ten in each, but there are more - check out the full list.

Sway is still going very strong, and continues developing at a fast pace. I’ve updated the roadmap with our plans for Sway 1.0. You might notice a few features have been reprioritized here, which increases the scope of Sway 1.0. It’ll be worth it, though, to make sure we have a solid 1.0 release. Hopefully we’ll see that and more within the year ahead!