I’m also happy we could complete this merge now!
For me, i3 is one of those few pieces of software that is pretty much optimal – it is rock solid and stable, I wouldn't know how to improve it any further and I also couldn't imagine living without it. By now, my i3 keybindings are hard-wired into my brain and I despise having to work with any other window manager or desktop environment! Besides, for the few rare cases where you do forget to lock your screen, a tiling wm with custom key bindings is a great way to prevent your colleagues from messing with your machine, in particular: announcing free cake using your Slack account. :-)
Story time:
When I was still doing research in cosmology back in 2014/2015, one day there was this new guy in our research group and, as it so happens, we ended up sharing an office. A couple weeks in, we were both at our desks and he looked over my shoulder and said:
"Ahh, I see you're using i3!"
"Yup, been using it for quite a while and I absolutely love it!"
"Do you know who the maintainer is?", he replied, with a big smile on his face.
Turns out, Michael was his brother! So that's how I learned to remember the name "Stapelberg". :-)
[@secure: Please say Hi to him for me!]
A few years after that episode, one night I told a good friend of mine about i3 & i3-gaps and we both had a look at their Github repositories. My friend had recently started working at this IT consulting firm, and he went: "Wait a second, Airblader / Ingo Bürk? That's my colleague!"
Not long after that discovery, I started working for a startup in Munich and it just so happened that the startup had also hired that same consulting firm for their dev team. Aaaand Ingo was their consultant! I'm honored to say I learned a ton from Ingo during that time and I still look back fondly to pair-programming with him (i.e. mostly him telling me what to do or patiently explaining things to me). If I've ever seen one of those infamous unicorn rockstar 10x developers, it's definitely him!
Four years later, I ended up at that consulting firm, too, in no small part thanks to Ingo convincing me to join them.
All this is to say: The world is small. And: You guys have changed my life! Thank you! :)
I like i3 in principle, but the lack of vertical dock support is a dealbreaker for me. Things like swaybar taking up vertical space across the entirety of my wide desktop is just a shame.
---
Also, I feel bad using this thread for feature requests/questions. Lovely work guys, and I am very grateful!
I'll die defending your right to do so, but dear god your taste is atrocious. It's like you finally got out of prison and decided to decorate your bedroom window with iron bars.
Alt tab with a long hold on alt lets you select another window, albeit from a linear list as you describe, by cycling through with tab and shift-tab.
Quickly typing alt-tab now cycles between the window you came from and the window you just selected. That’s the super useful value of the feature.
Is there an i3 command to (a) leap to another window from a selection and (b) leap back and forth between the window you came from and the window you just chose?
For (b) I don't know what the best option is but I see some people posting their scripts in this thread: https://github.com/i3/i3/issues/838 I think I would bind some keys to mark and then focus by mark if I wanted to do this instead of having a toggle.
Not for windows as far as I know, but for workspaces, yes: https://i3wm.org/docs/userguide.html#back_and_forth https://i3wm.org/docs/userguide.html#workspace_auto_back_and...
But grouping windows logically based on how they're used has always just felt right, so I've never really considered that you want to keep track of the order in which windows were previously selected (using alt-tab to navigate even just three or four windows can be quite a trick). It always seemed like a necessary evil since floating-only window managers can't handle the kind of spatial focus-navigation that i3 does.
On a more practical level, I’ve never been more efficient as I have been i3.
So a deep thank you to all the folks responsible for building such great software and making it accessible to so many so easily.
Off topic:
Sounds like an in-person meeting, as opposed to only being remote, facilitated a roadmap change that hadn’t happened without it.
Ironic, given that the default i3 configuration uses jkl; instead of hjkl for direction.
The story of this merge is not only several years long, but a true success story in OSS in my eyes.
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.
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.
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.
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.
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.
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.