logo

drewdevault.com

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

State-of-sway-April-2016.md (5164B)


  1. ---
  2. # vim: tw=80
  3. # Commands used to generate these stats:
  4. # LoC per author: git ls-tree -r -z --name-only HEAD -- */*.c | xargs -0 -n1 git blame --line-porcelain HEAD |grep "^author "|sort|uniq -c|sort -nr
  5. # Commits per author: git shortlog
  6. date: 2016-04-20
  7. title: State of Sway - April 2016
  8. layout: post
  9. tags: [sway]
  10. ---
  11. Since the previous [State of Sway](/2015/12/20/State-of-sway.html), we have
  12. accomplished quite a bit. We are now shipping versioned releases of sway, which
  13. include support for window borders, input device configuration, more new
  14. features, and many bug fixes and stability improvements. I'm also happy to say
  15. that Sway 0.5 has landed in the Arch Linux community repository and I'm starting
  16. to hear rumors of it landing in other Linux distros as well. Here's a quick
  17. rundown of what's happened in the past four months:
  18. * Window borders work now
  19. * Input devices are configurable
  20. * swaybar is much more mature, including support for i3status and i3blocks
  21. * swaylock has reached a similar level of maturity
  22. * New `include` config command to include sub-configs
  23. * We have a [default wallpaper](https://github.com/SirCmpwn/sway/blob/master/assets/Sway_Wallpaper_Blue_1920x1080.png) and a logo now
  24. * musl libc support has been added
  25. * More features of the i3 IPC protocol have been implemented
  26. * 18 more i3 commands have been implemented
  27. * Many improvements to documentation
  28. * Hundreds of bug fixes and small improvements
  29. I'm a particularly big fan of the new include command, which allows me to add
  30. this to my config file:
  31. include ~/.config/sway/config.d/`hostname`/*
  32. The net of this is that it includes a set of configs specific to each machine I
  33. run Sway on, which each have a unique output device & input device configuration
  34. and several other details, but I can include them all under
  35. [version control](https://gogs.sr.ht/SirCmpwn/dotfiles) to keep my dotfiles
  36. synced between computers.
  37. Today, sway looks like this:
  38. [![](https://sr.ht/me1j.png)](https://sr.ht/me1j.png)
  39. We're now making our way towards Sway 1.0. I have put together a roadmap of the
  40. things we have done and the things that remain to do for Sway 1.0, which is
  41. available on the improved website [here](http://swaywm.org/roadmap). We are
  42. still now moving forward on many of these features, including the most asked for
  43. feature: the stacked & tabbed window layouts, which is under development from
  44. Mikkel Oscar Lyderik. He's given me this screenshot to tease you with:
  45. ![](https://sr.ht/0CkR.png)
  46. All of this is only possible thanks to the hard work of dozens of contributors.
  47. Here's the breakdown of **lines of code per author** for the top ten authors
  48. (with the difference from the previous State of Sway in parenthesis):
  49. <table class="table">
  50. <tbody>
  51. <tr><td>4307 (+3180)</td><td>Mikkel Oscar Lyderik</td></tr>
  52. <tr><td>3059 (-457)</td><td>Drew DeVault</td></tr>
  53. <tr><td>2285 (+115)</td><td>taiyu</td></tr>
  54. <tr><td>1826 (+40)</td><td>S. Christoffer Eliesen</td></tr>
  55. <tr><td>682 (-38)</td><td>Luminarys</td></tr>
  56. <tr><td>544 (+544)</td><td>Cole Mickens</td></tr>
  57. <tr><td>515 (-19)</td><td>minus</td></tr>
  58. <tr><td>385 (+185)</td><td>Christoph Gysin</td></tr>
  59. <tr><td>345 (+266)</td><td>Kevin Hamacher</td></tr>
  60. <tr><td>166 (+45)</td><td>crondog</td></tr>
  61. </tbody>
  62. </table>
  63. Once again, I'm no longer the author of the most lines of code. Sway now
  64. has a grand total of 15,422 lines of C and 2,787 lines of headers. Here's the
  65. total **number of commits per author** for each of the top 10
  66. committers:
  67. <table class="table">
  68. <tbody>
  69. <tr><td>688</td><td> Drew DeVault</td></tr>
  70. <tr><td>212</td><td> Mikkel Oscar Lyderik</td></tr>
  71. <tr><td>191</td><td> taiyu</td></tr>
  72. <tr><td>109</td><td> S. Christoffer Eliesen</td></tr>
  73. <tr><td>97</td><td> Luminarys</td></tr>
  74. <tr><td>58</td><td> Christoph Gysin</td></tr>
  75. <tr><td>34</td><td> minus</td></tr>
  76. <tr><td>18</td><td> crondog</td></tr>
  77. <tr><td>13</td><td> Yacine Hmito</td></tr>
  78. <tr><td>12</td><td> progandy</td></tr>
  79. </tbody>
  80. </table>
  81. As the maintainer of sway, *a lot* of what I do is reviewing and merging
  82. contributions from others. So these statistics change a bit if we use **number
  83. of commits per author, excluding merge commits**:
  84. <table class="table">
  85. <tbody>
  86. <tr><td>343</td><td> Drew DeVault</td></tr>
  87. <tr><td>201</td><td> Mikkel Oscar Lyderik</td></tr>
  88. <tr><td>175</td><td> taiyu</td></tr>
  89. <tr><td>109</td><td> S. Christoffer Eliesen</td></tr>
  90. <tr><td>96</td><td> Luminarys</td></tr>
  91. <tr><td>58</td><td> Christoph Gysin</td></tr>
  92. <tr><td>34</td><td> minus</td></tr>
  93. <tr><td>18</td><td> crondog</td></tr>
  94. <tr><td>13</td><td> Yacine Hmito</td></tr>
  95. <tr><td>12</td><td> progandy</td></tr>
  96. </tbody>
  97. </table>
  98. These stats only cover the top ten in each, but there are more - check out the
  99. [full list](https://github.com/SirCmpwn/sway/graphs/contributors). Hopefully
  100. next time I write a blog post like this, we'll be well into the lifetime of Sway
  101. 1.0!