State of Sway - December 2015

Published 2015-12-20 on Drew DeVault's blog

I wrote sway’s initial commit 4 months ago, on August 4th. At the time of writing, there are now 1,070 commits from 29 different authors, totalling 10,682 lines of C (and 1,176 lines of header files). This has been done over the course of 256 pull requests and 118 issues. Of the 73 i3 features we’re tracking, 51 are now supported, and I’ve been using sway as my daily driver for a while now. Today, sway looks like this:

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 will be the same and the colors and font configuration will be the same, and so on. It’s i3, but on Wayland.

Sway initially made the rounds on /r/linux and /r/i3wm and Phoronix on August 17th, 13 days after the initial commit. I was already dogfooding it by then, but now I’m actually using it 100% of the time, and I hear others have started to as well. What’s happened since then? Well:

  • Floating windows
  • Multihead support
  • XDG compliant config
  • Fullscreen windows
  • gaps
  • IPC
  • Window criteria
  • 58 i3 commands and 1 command unique to sway
  • Wallpaper support
  • Resizing/moving tiled windows with the mouse
  • swaymsg, swaylock, swaybar as in i3-msg, i3lock, i3bar
  • Hundreds of bug fixes and small improvements

Work on sway has also driven improvements in our dependencies, such as wlc, which now has improved xwayland support, support for Wayland protocol extensions (which makes swaybg and swaylock and swaybar possible), and various bugfixes and small features added at the bequest of sway. Special thanks to Cloudef for helping us out with so many things!

All of this is only possible thanks to the hard work of dozens of contributors. Here’s the breakdown of lines of code per author for the top ten authors:

3516Drew DeVault
2400taiyu
1786S. Christoffer Eliesen
1127Mikkel Oscar Lyderik
720Luminarys
534minus
200Christoph Gysin
121Yacine Hmito
79Kevin Hamacher

And here’s the total number of commits per author for each of the top 10 committers:

514 Drew DeVault
191 taiyu
102 S. Christoffer Eliesen
97 Luminarys
56 Mikkel Oscar Lyderik
46 Christoph Gysin
34 minus
9 Ben Boeckel
6 Half-Shot
6 jdiez17

As the maintainer of sway, a lot of what I do is reviewing and merging contributions from others. So these statistics change a bit if we use number of commits per author, excluding merge commits:

279 Drew DeVault
175 taiyu
102 S. Christoffer Eliesen
96 Luminarys
56 Mikkel Oscar Lyderik
46 Christoph Gysin
34 minus
9 Ben Boeckel
6 jdiez17
5 Yacine Hmito

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

So, what does this all mean for sway? Well, it’s going very well. If you’d like to live on the edge, you can use sway right now and have a productive workflow. The important features that are missing include stacking and tabbed layouts, window borders, and some features on the bar. I’m looking at starting up a beta when these features are finished. Come try out sway! Test it with us, open GitHub issues with your gripes and desires, and chat with us on IRC.

This blog post was composed from sway.

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/public-inbox@lists.sr.ht [mailing list etiquette]


Articles from blogs I follow around the net

Contributors Summit 2019

For the third year in a row, the Go team and contributors convened the day before GopherCon to discuss and plan for the future of the Go project. The event included self-organizing into breakout groups, a town-hall style discussion about the proposal process…

via The Go Programming Language Blog August 15, 2019

Updates in July 2019

This post gives an overview of the recent updates to the Writing an OS in Rust blog and the used libraries and tools. Since I'm still very busy with my master thesis, I haven't had the time to work on a new post. But there were quite a few maintena…

via Writing an OS in Rust August 2, 2019

What is RISC?

This is an archive of a series of comp.arch USENET posts by John Mashey in the early to mid 90s, on the defnition of reduced instruction set computer (RISC). Contrary to popular belief, RISC isn't about the number of instructions! This is archived her…

via Dan Luu July 29, 2019

Generated by openring