Hi. I'm the maintainer of i3-gaps and also a maintainer for i3.<p>The story of this merge is not only several years long, but a true success story in OSS in my eyes.<p>I took on i3-gaps by taking an existing patch and rebasing it to the latest i3 HEAD. From there it became popular and I took on the maintainership, eventually contributing to i3 itself and finally becoming a maintainer there as well.<p>Whilst originally gaps were considered an "anti feature" for i3, years ago we already decided that we'd accept adding gaps into i3. Clearly the fork was popular, and as someone else pointed out here as well, the Wayland "port" of i3, sway, added gaps from the beginning on with great success.<p>However, the original gaps patch was focused on being small and easy to maintain. It caused a few issues and had some drawbacks. We made it a condition that porting gaps into i3 would have to resolve these issues. Alas, this could've meant a lot of work that no one took on for the years to follow.<p>Recently, however, the maintainers of i3 got together (a chance to meet arose randomly). During that meeting we decided that it'd be better to just merge the fork and improve it later. And as it happened, Michael, the author and main maintainer of i3, did all that work during the port as well.<p>What resulted is the end of almost a decade of i3-gaps, and a much better implementation thereof. I'm incredibly happy to see this happen after all this time, and a big shoutout to Michael here for all that work.<p>Edit: Hadn't realized Michael was commenting here already. I guess leaving the background and story from my side of things doesn't hurt regardless.
i3-gaps is included in i3 v4.22, which is available in many Linux distributions already.<p>You can find the release notes at <a href="https://i3wm.org/downloads/RELEASE-NOTES-4.22.txt" rel="nofollow">https://i3wm.org/downloads/RELEASE-NOTES-4.22.txt</a><p>Documentation for the gaps feature is at <a href="https://i3wm.org/docs/userguide.html#gaps" rel="nofollow">https://i3wm.org/docs/userguide.html#gaps</a>
Maybe 15 years ago or so, I wrote the original “useless gaps” patch for dwm, because it felt packed, especially between different window styles (terminal, web browser, file manager for instance).
The concept was new to tiling managers but quite common anywhere in photography, typography or web design.<p>At the time, I spent a minute or two on the patch (the code is simple, and the patch is a hack), ten minutes on documentation Ascii art and zero minute on choosing a name for it. “Useless” made it sound like a casus forki, and “gap” could probably been just “margin” as in css.<p>“Mal nommer un objet, c’est ajouter aux malheurs du monde” — Albert Camus
~”misnaming an object is adding to the world misery”<p>Happy merging anyway!
I just realized I've been using this magnificent piece of software for 7 years.<p>Stealing some tray icons (volume, clipboard, KTeaTime, network), I built the setup I'll probably use for another 7!<p>Thanks to everyone involved! Tiling WMs rule!
I recently installed arch and when you select i3 it makes you choose between i3-wm and i3-gaps. This led me down a bit of a rabbit hole, but in the end I was happy to find I didn't have to choose between forks after all!
What a great project. For those who are wanting something similar for macOS, the Amethyst project is pretty great <a href="https://github.com/ianyh/Amethyst">https://github.com/ianyh/Amethyst</a> (meant to be more like Xmonad actually but still a tiling wm).
If i3 is still in an upstreaming mood I'd love to donate my web based theme/config generator:
<a href="https://thomashunter.name/i3-configurator/" rel="nofollow">https://thomashunter.name/i3-configurator/</a>
Both i3 and i3-gaps introduced me to TWMs and I remain grateful for the role they played in my productivity.<p>Thanks, team. Congratulations on the merge. Take care.
I guess it's been 12 years on i3, time flies :)<p>Thanks to the maintainers -- a stripped down Linux distro + i3 is an incredibly powerful combination.
I went back and forth on gaps.<p>I like the idea of maximising screen space utility (original reason for gaps feature rejection), but disliked the visual "feel" of i3wm window borders. Eventually I realised this was due to the visual asymmetry in the tile borders, which are drawn independently even though they share geometric edges - this causes inner edges to be twice the width of outer edges which looks kind of clunky. If you look at most people's gaps setup, most people either equalize the space between the outer and inner edges, or have gaps so large that it doesn't feel like it's part of the tiles any more.<p>I also noticed that you don't get this feeling in tmux, where outer edges just don't exist... And that you can achieve the same in i3 by hiding outer edges and using 1 pixel borders, you end up with minimal 2 pixel "dividers" rather than borders:<p><pre><code> new_window pixel 1
new_float pixel 1
hide_edge_borders both
</code></pre>
Will be nice to have gaps available to play with in binary packages though.
I've been a long time i3wm user, and I couldn't be happier with my workflow.
What network managers are people using together with i3? I've been using wicd for a while, however with Debian deprecating Python2 this won't be viable for long. I haven't found another lightweight GUI network manager which works well with i3. This might not be the <i>perfect</i> place to ask, however I don't use Reddit.
Thank you for your work on i3-gaps, Airblader.<p>I've been using it for years now. Started with plain i3 but quickly wanted something a bit more elegant and nicer to look at. I had 2 hi-res monitors so I was willing to sacrifice few pixels for an eye-candy. I spend most of my day looking at the thing after all :-)<p>Honestly it baffled me for a long time that i3 did not have such a "simple" thing as gaps. I could understand the anti-pattern theory in the good ol' era of 1024x768 but nowdays?<p>Anyway it is good to hear that it is merged. Thank you and Michael for the i3 experience, it is truly addictive. I was on MacOS for ~3 years and I missed it every single day there.
> All i3-gaps features will become available with i3 4.22 (not released yet at the time of writing this).<p>When was the time this was written? I don't see a published date on the announcement.
if i3 just had persistent workspaces I would love to give it a good try, but they seem astonishingly resistant to the feature. xmonad has its own issues but at least it has all the features I need.