logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

State-of-sway-December-2015.md (4989B)


  1. ---
  2. # vim: tw=80
  3. date: 2015-12-20
  4. title: State of Sway - December 2015
  5. layout: post
  6. tags: [sway]
  7. ---
  8. I wrote sway's [initial commit](https://github.com/SirCmpwn/sway/commit/6a33e1e3cddac31b762e4376e29c03ccf8f92107)
  9. 4 months ago, on August 4th. At the time of writing, there are now 1,070 commits
  10. from 29 different authors, totalling 10,682 lines of C (and 1,176 lines of
  11. header files). This has been done over the course of 256 pull requests and 118
  12. issues. Of the 73 [i3 features we're
  13. tracking](https://github.com/SirCmpwn/sway/issues/2), 51 are now supported, and
  14. I've been using sway as my daily driver for a while now. Today, sway looks like
  15. this:
  16. [![](https://sr.ht/NCx_.png)](https://sr.ht/NCx_.png)
  17. For those who are new to the project, [sway](https://github.com/SirCmpwn/sway)
  18. is an i3-compatible Wayland compositor. That is, your existing
  19. [i3](http://i3wm.org/) configuration file will work as-is on sway, and your
  20. keybindings will be the same and the colors and font configuration will be the
  21. same, and so on. It's i3, but on Wayland.
  22. Sway initially made the rounds on [/r/linux](https://redd.it/3he5hn) and
  23. [/r/i3wm](https://redd.it/3he48j) and
  24. [Phoronix](https://www.phoronix.com/scan.php?page=news_item&px=Wayland-i3-Sway-Tiling)
  25. on August 17th, 13 days after the initial commit. I was already dogfooding it by
  26. then, but now I'm actually using it 100% of the time, and I hear others have
  27. started to as well. What's happened since then? Well:
  28. * Floating windows
  29. * Multihead support
  30. * XDG compliant config
  31. * Fullscreen windows
  32. * gaps
  33. * IPC
  34. * Window criteria
  35. * 58 i3 commands and 1 command unique to sway
  36. * Wallpaper support
  37. * Resizing/moving tiled windows with the mouse
  38. * swaymsg, swaylock, **swaybar** as in i3-msg, i3lock, i3bar
  39. * Hundreds of bug fixes and small improvements
  40. Work on sway has also driven improvements in our dependencies, such as
  41. [wlc](https://github.com/Cloudef/wlc), which now has improved xwayland support,
  42. support for Wayland protocol extensions (which makes swaybg and swaylock and
  43. swaybar possible), and various bugfixes and small features added at the bequest
  44. of sway. Special thanks to Cloudef for helping us out with so many things!
  45. All of this is only possible thanks to the hard work of dozens of contributors.
  46. Here's the breakdown of **lines of code per author** for the top ten authors:
  47. <table class="table">
  48. <tbody>
  49. <tr><td>3516</td><td>Drew DeVault</td></tr>
  50. <tr><td>2400</td><td>taiyu</td></tr>
  51. <tr><td>1786</td><td>S. Christoffer Eliesen</td></tr>
  52. <tr><td>1127</td><td>Mikkel Oscar Lyderik</td></tr>
  53. <tr><td>720</td><td>Luminarys</td></tr>
  54. <tr><td>534</td><td>minus</td></tr>
  55. <tr><td>200</td><td>Christoph Gysin</td></tr>
  56. <tr><td>121</td><td>Yacine Hmito</td></tr>
  57. <tr><td>79</td><td>Kevin Hamacher</td></tr>
  58. </tbody>
  59. </table>
  60. And here's the total **number of commits per author** for each of the top 10
  61. committers:
  62. <table class="table">
  63. <tbody>
  64. <tr><td>514</td><td> Drew DeVault</td></tr>
  65. <tr><td>191</td><td> taiyu</td></tr>
  66. <tr><td>102</td><td> S. Christoffer Eliesen</td></tr>
  67. <tr><td>97</td><td> Luminarys</td></tr>
  68. <tr><td>56</td><td> Mikkel Oscar Lyderik</td></tr>
  69. <tr><td>46</td><td> Christoph Gysin</td></tr>
  70. <tr><td>34</td><td> minus</td></tr>
  71. <tr><td>9</td><td> Ben Boeckel</td></tr>
  72. <tr><td>6</td><td> Half-Shot</td></tr>
  73. <tr><td>6</td><td> jdiez17</td></tr>
  74. </tbody>
  75. </table>
  76. As the maintainer of sway, *a lot* of what I do is reviewing and merging
  77. contributions from others. So these statistics change a bit if we use **number
  78. of commits per author, excluding merge commits**:
  79. <table class="table">
  80. <tbody>
  81. <tr><td>279</td><td> Drew DeVault</td></tr>
  82. <tr><td>175</td><td> taiyu</td></tr>
  83. <tr><td>102</td><td> S. Christoffer Eliesen</td></tr>
  84. <tr><td>96</td><td> Luminarys</td></tr>
  85. <tr><td>56</td><td> Mikkel Oscar Lyderik</td></tr>
  86. <tr><td>46</td><td> Christoph Gysin</td></tr>
  87. <tr><td>34</td><td> minus</td></tr>
  88. <tr><td>9</td><td> Ben Boeckel</td></tr>
  89. <tr><td>6</td><td> jdiez17</td></tr>
  90. <tr><td>5</td><td> Yacine Hmito</td></tr>
  91. </tbody>
  92. </table>
  93. These stats only cover the top ten in each, but there are more - check out the
  94. [full list](https://github.com/SirCmpwn/sway/graphs/contributors).
  95. So, what does this all mean for sway? Well, it's going very well. If you'd like
  96. to live on the edge, you can use sway right now and have a productive workflow.
  97. The important features that are missing include stacking and tabbed layouts,
  98. window borders, and some features on the bar. I'm looking at starting up a beta
  99. when these features are finished. Come try out sway! Test it with us, open
  100. GitHub issues with your gripes and desires, and [chat
  101. with us on IRC](http://webchat.freenode.net/?channels=sway&uio=d4).
  102. *This blog post was composed from sway.*