[HN Gopher] The i3-gaps project has been merged with i3
       ___________________________________________________________________
        
       The i3-gaps project has been merged with i3
        
       Author : harporoeder
       Score  : 141 points
       Date   : 2023-01-07 21:26 UTC (1 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | ArcMex wrote:
       | Both i3 and i3-gaps introduced me to TWMs and I remain grateful
       | for the role they played in my productivity.
       | 
       | Thanks, team. Congratulations on the merge. Take care.
        
       | Airblader wrote:
       | Hi. I'm the maintainer of i3-gaps and also a maintainer for i3.
       | 
       | 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.
        
         | gigatexal wrote:
         | Much much much thanks to you all for working and contributing
         | to i3. It is the primary reason I use Linux. I love it. I
         | couldn't do my work without it. Thank you!
        
         | BaculumMeumEst wrote:
         | thank you so much for all your hard work!
        
         | barelysapient wrote:
         | Thank you! I use and love i3 gaps and can't wait to update to
         | i3 mainline in the future.
        
         | digitalsin wrote:
         | Thank you and the team for all the hard work! i3/gaps has
         | always been my favorite twm.
        
         | codethief wrote:
         | Thanks to both of you for maintaining i3(-gaps) all these
         | years! I don't remember exactly when I started using i3 but
         | it's been at least 9 or 10 years, if not more. I didn't make
         | the jump to i3-gaps until a couple years later but, boy, am I
         | glad I did!
         | 
         | 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 Burk? 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! :)
        
           | secure wrote:
           | It truly is a small world! I'll say hi to him, thanks for
           | sharing :D
        
         | secure wrote:
         | Thanks for providing the background here, and thanks for
         | maintaining i3-gaps over all the years! :)
         | 
         | I'm also happy we could complete this merge now!
        
           | the-grump wrote:
           | [dead]
        
         | vasergen wrote:
         | Being a user of i3-gaps for a couple of years. Just want to say
         | thank you for all the work!
        
       | [deleted]
        
       | britneybitch wrote:
       | 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!
        
       | input_sh wrote:
       | About time!
       | 
       | Does anyone know why i3 was so opposed to gaps to warrant a fork
       | to begin with?
        
         | europeanguy wrote:
         | Why is gaps something that matters is what I would ask first.
         | Seems to me increased complexity for no benefit.
        
           | _dain_ wrote:
           | why do books and websites have margins between the text and
           | the edge of the page? because a judicious amount of blank
           | space between elements just looks nice and makes it easier to
           | read. typographers and graphic designers think very hard
           | about this stuff, it isn't useless.
           | 
           | the same thing goes for desktop windows. a bit of space
           | between them makes the interface less cramped. if you're
           | staring at it for 12 hours a day it's nice not to have things
           | so cramped and pushed up against one another.
           | 
           | I'm kind of amazed at the sheer vehemence of the anti-gaps
           | people. they always have to say "it's useless, I don't know
           | why anyone would want it --" [proceeds to ignore all
           | explanation for why it isn't useless and why people do want
           | it] "-- therefore it shouldn't exist and the people who want
           | it are decadent". I've never seen bizarre attitude to any
           | other (optional!) UI feature.
           | 
           | it reminds me of those 20th century modernists who denounced
           | serifs on letters, or ornament on buildings. or idk puritans
           | and icon-smashers or something. miserable tube-brained
           | people.
        
           | Airblader wrote:
           | Back when I used i3-gaps myself (yes, that time is behind me,
           | sorry), I liked the visual clarity gaps provide. And from
           | years of interacting with the community I know many people
           | feel the same way. It just makes things feel less cluttered.
        
             | jchw wrote:
             | Out of sheer curiosity, what kind of setup do you use
             | today? I did briefly try i3-gaps myself but ultimately
             | never daily drove it. (nowadays I run Sway, but with no
             | gaps.)
        
               | Airblader wrote:
               | This will make some people sad, but I'm on Mac these
               | days.
               | 
               | I was using i3 until the very end though, and I do dearly
               | miss proper window management. My shortcut setup now is
               | an absolute mess. I technically did run i3-gaps because
               | of some features, but not gaps. This was mostly because I
               | actually mostly used a one window per workspace approach,
               | and if more, then a tabbed layout, so no need for gaps
               | there.
        
               | jchw wrote:
               | I'm not sad per-se. I mean I have a strong distaste for
               | modern macOS, but it's not like it matters to me
               | personally what anyone else runs. I'd just prefer to not
               | run it myself.
               | 
               | I will say though that I run Linux more than ever these
               | days. I'd say the reason has more to do with Windows and
               | macOS feeling like worse prospects than Linux actually
               | improving as a desktop OS...
               | 
               | That said, I'd like to take this moment to tangent. I
               | really, really despise the rise of SOC2 theater. It has
               | largely killed Linux workstations at startups, and I am
               | pretty close to quitting out of the industry due to the
               | amount of stress this has cost me.
        
           | spoiler wrote:
           | I like having a small gap. It pleases me to use a Desktop
           | environment that looks like it at least belongs in this
           | decade.
           | 
           | Edit: I realise some people are okay with the brutalist
           | design due to it being the most efficient use of screen space
           | possible, but my brain needs a "pleasing" environment,
           | otherwise it affects my... Mood? I'm not quite sure what it
           | is, but to not muddle the point, having a nice environment
           | makes me more productive
        
             | tekla wrote:
             | I have no idea what this means. What WM adds completely
             | useless gaps between windows?
             | 
             | Both Windows and MacOs do not such thing. How do gaps make
             | a WM look like it belongs to this decade?
        
               | bee_rider wrote:
               | I'm not sure how we determine what looks like it belongs
               | to this decade, but surely these legacy desktop
               | environments don't push the envelope or tell us much,
               | really.
               | 
               | I mean if we use Windows as a standard, the way to tell
               | which decade we're in is by counting the number of
               | totally different UI styles we have, right?
        
               | spoiler wrote:
               | I'm not a designer, so I can't really tell you why the
               | little bit of extra negative space helps. Maybe just the
               | fact that a little bit of the background can bleed
               | through makes it seem more modern, and its easier to
               | distinguish focused windows. Default i3 just gives me
               | like... 90iea vibes, but not in a nostalgic way but a
               | regressive way. Maybe it's just a matter of different
               | tastes.
        
               | mgaunard wrote:
               | Windows XP has round borders, there is no way it can tile
               | without gaps.
        
               | mo_42 wrote:
               | If there are people who like gaps, it's not useless. It
               | has value for them.
        
           | gosukiwi wrote:
           | OSS in a nutshell
        
             | bee_rider wrote:
             | Indeed, some folks found the feature unnecessary at first,
             | but somebody found an OK way to implement it, and
             | eventually it became popular enough that they decided to
             | merge it back into mainline. Little drama and everyone is
             | happy in the end. Actually I think this is more like the
             | OSS ideal.
        
           | hsbauauvhabzb wrote:
           | Other than aesthetics, In a standard window manager titlebars
           | and task bars often pad the top and bottom of the screen, I
           | run without either so having borders still feels more natural
           | in some respects.
        
           | angio wrote:
           | With a good background contrast, it's easier to have windows
           | stand out from each other. The default config with 0 gap and
           | thin borders make it very hard to see which window is
           | focused.
        
             | jez wrote:
             | What about the gaps makes it more obvious which window is
             | focused? I would have guessed that the gaps are the same
             | for focused and non-focused windows.
        
               | britneybitch wrote:
               | If you're looking along a vertical split and you see:
               | <window> <active-border-color> <window>
               | 
               | it's not clear whether the border is "pointing" left or
               | right. However if you see:                 <window>
               | <active-border-color> <gap> <inactive-border-color>
               | <window>
               | 
               | It is clear the active border belongs to the left window.
        
             | dfc wrote:
             | I use plain i3, with a border color for the focused window
             | and a good contrasting indicator color. I always know what
             | window is focused and where the next window will open.
             | 
             | I have always assumed i3-gaps was just an aesthetic thing.
             | How does the gap let you know what window is focused?
        
             | mgaunard wrote:
             | Make the borders thicker?
             | 
             | What's the difference between borders and gaps?
        
               | counttheforks wrote:
               | Aesthetics
        
               | bxfhjcvu wrote:
               | [dead]
        
           | williamscales wrote:
           | well, dwm includes them[0] as a patch so i'm guessing even
           | the most hardcore of folks occasionally want them.
           | 
           | these days with high resolution monitors it can be nice to
           | have a background and some gaps / transparency.
           | 
           | [0] https://dwm.suckless.org/patches/gaps/
        
           | cosban wrote:
           | I wonder why you phrased your thoughts this way. The benefits
           | are the additional options which were implemented in the
           | fork. If there were no benefits then 1. no one would use
           | this, which clearly isn't the case and 2. this merge wouldn't
           | have occurred
        
           | rvz wrote:
           | > Seems to me increased complexity for no benefit.
           | 
           | Well tweaking a Linux desktop for a few developers is the
           | only so-called 'use case'. I don't see the point of it or
           | messing around with config files and creating rube goldberg
           | contraptions only for it to break again on a desktop update.
           | This is even before mentioning that it is still using the
           | prehistoric and insecure X11 windowing system.
           | 
           | Quite a pointless nothing if you ask me, when you start using
           | a system that just works like macOS or Windows to get things
           | done rather than fighting with system components and window
           | managers to begin getting things done.
        
             | _dain_ wrote:
             | >Quite a pointless nothing if you ask me
             | 
             | nobody asked you
        
               | rvz wrote:
               | There is no need for you be upset about the truth of the
               | Linux desktop and how such extremely complicated
               | contraptions like this project offer little to no use-
               | case.
               | 
               | It appears that some Linux Desktop fans here cannot
               | handle it or even give a rebuttal other than cheap
               | emotional swipes like this.
               | 
               | You can do better than that in your next reply.
        
               | _dain_ wrote:
               | I already refuted it
        
               | rvz wrote:
               | > refuted it
               | 
               | Refuted what?
               | 
               | Pretending to refute something isn't a refutation,
               | especially when you're being very emotional about it.
               | There is also no need to be very upset either.
               | 
               | Try again.
        
           | ohazi wrote:
           | The benefit is that it looks cool and a lot of people seem to
           | like it.
           | 
           | e.g. see: https://www.reddit.com/r/unixporn/
           | 
           | This is not an invalid use-case. Not everybody wants to be
           | 100% focused on productivity to the exclusion of absolutely
           | everything else.
           | 
           | If you want to have something as simple as a background
           | image, the only way you're going to be able to see it when
           | using a tiling window manager is with gaps or transparency.
           | Small gaps is arguably less intrusive than transparency.
        
             | rvz wrote:
             | So little to no use-case but for free pimp my desktop
             | contests on reddit?
             | 
             | To each to their own then, whilst I continue to sell
             | shovels to developers and turn over another ten to twenty
             | thousand dollars a month for only that.
             | 
             | At least I know why I cannot define Linux Desktop support
             | and have to draw the line on the most used and standard of
             | desktop distros.
        
               | _dain_ wrote:
               | What the fuck are you talking about?
               | 
               | ---
               | 
               | edit reply bc rate-limited:
               | 
               | People have explained, multiple times in this thread,
               | what the use-cases are. If you don't want to use i3, or
               | the gaps, then you don't have to use them. But saying
               | there's no use-case is crazy .. can you not read?
               | 
               | As for "emotional attachment" -- why don't you look in
               | the mirror? Look at your unhinged, boorish tone, uncouth
               | bragging about how much money you make, your passionate
               | and irrelevant denunciation of the Linux desktop, the
               | deep personal offense you're taking to other people's UI
               | preferences ... it's sheer projection.
        
               | rvz wrote:
               | There is no need to be so angry over the truth. Assuming
               | you read the comment chain, it's quite simple, the use-
               | cases for this are almost invisible, adds no benefit
               | other than complexity and henceforth, explains why Linux
               | desktop support is ill defined.
               | 
               | So explaining the truth of not supporting complicated
               | prehistoric contraptions is somehow upsetting to folks
               | emotionally attached to their desktops?
               | 
               | Oh dear.
        
               | cafeinux wrote:
               | You seem... Bitter. I don't where is the issue with
               | developers trying to make their product a bit prettier.
               | If overall it draws more attention to it, be it through
               | reddit or anything else, I see that as a win. But nobody
               | forces you to use gaps, and nobody forces you to stop
               | "selling shovels to developers", whatever that is for an
               | occupation. Hope you keep winning big money, and hope
               | i3[-gaps] developers keep doing what they love.
        
               | LarryMullins wrote:
               | I wager to say that the vast majority of people using
               | i3-gaps have never posted a screenshot of their desktop
               | on reddit. The real use case is "some people like it".
               | The reddit connection is merely evidence of people liking
               | it.
        
               | ohazi wrote:
               | > To each to their own then, whilst I continue to sell
               | shovels to developers and turn over another ten to twenty
               | thousand dollars a month for only that.
               | 
               | Okay?
        
             | formerly_proven wrote:
             | There's actually a hardcore sister reddit of r/unixporn,
             | https://www.reddit.com/r/unixSOCKS
        
             | Airblader wrote:
             | /r/unixporn is where i3-gaps was born, as a matter of fact.
             | 
             | There's a small footnote to this, but I think it's true
             | enough to say it like that.
        
         | ohazi wrote:
         | Both the author of i3 and the author of i3-gaps (who is also a
         | maintainer of i3) originally opposed merging the i3-gaps code
         | because the code was a bit hacky and had certain edge cases
         | where it would break things (e.g. you couldn't enable both gaps
         | and titlebars simultaneously). This was done deliberately so
         | that the two codebases could be easily kept in sync. They
         | weren't necessarily opposed to introducing a gaps-like feature
         | if an implementation was deemed acceptable.
         | 
         | Unfortunately this state persisted for years, and it turns out
         | gaps is a popular feature, so they both eventually decided to
         | bite the bullet, merge it, and _then_ work on cleaning things
         | up rather than waiting indefinitely for a unicorn
         | implementation that was likely never going to appear.
        
           | secure wrote:
           | That's right. We waited for a volunteer to help with the
           | merge (as we both didn't have enough time to spend on working
           | on gaps), but nobody ever showed up.
           | 
           | Eventually, because life circumstances permitted it, I was
           | able to spend a few weeks, first getting gaps merged as-is
           | (as discussed and communicated) and then even cleaned up,
           | addressing all known limitations.
        
             | MaxMatti wrote:
             | So there's no further cleanup needed? Or are you still
             | looking, just in a different repo?
        
               | secure wrote:
               | No further cleanup needed
        
         | mtlmtlmtlmtl wrote:
         | EDIT: Comments from the maintainers have painted a completely
         | different picture while I wrote this so none of this applies
         | here but I'm leaving it up as a general view on maintainership.
         | 
         | Very strange, makes me want to avoid i3 altogether. It's not
         | like it requires a lot of code to support configurable,
         | optional gaps.
         | 
         | Probably the rationale is something asinine like "I don't like
         | gaps, gaps are dumb" or "buhu I don't like the completely
         | negligible overhead"
         | 
         | I actively avoid projects whose maintainers are MDFLs rather
         | than BDFLs.
        
           | bee_rider wrote:
           | I think it is generally best to not assume people have
           | asinine motivations.
        
           | the-grump wrote:
           | [dead]
        
           | Airblader wrote:
           | I see your point (in general terms). But I think people tend
           | to overlook the hidden costs of optional features in terms of
           | maintenance and complexity (in code, documentation, and for
           | users).
           | 
           | In i3 we have always tried to weigh benefit against cost. We
           | also really care about compatibility. It's easy to add a
           | feature, difficult to maintain it, and impossible to remove
           | it.
        
             | secure wrote:
             | Yup! We even have an FAQ entry on the reasons for not
             | merging features without careful consideration:
             | https://faq.i3wm.org/question/778/why-is-patch-not-merged-
             | an...
             | 
             | Also, saying "it's not that many lines of code" comparing
             | the before and after state is too simplistic: it doesn't
             | include the cost of changing the existing code into the
             | desired state, which can be a significant effort, even if
             | the number of lines doesn't differ much before and after.
             | See https://github.com/i3/i3/pulls?q=is%3Apr+author%3Astape
             | lberg... to get an impression of how much work it was to
             | merge gaps.
        
           | Oxidation wrote:
           | The discussion[1] over "maximise" leaned towards "that's
           | dumb, only dumb people want that" for a very long time, and
           | it's still the one thing in i3 I find jarring.
           | 
           | To maximise a window temporarily but keep your status bar or
           | avoid your program going into "full screen mode" and hiding
           | UI from you, you have to move it to some empty desktop and
           | just deal with the fact that when you put it back on the
           | original desktop it might not end up where it came from.
           | 
           | [1]: https://github.com/i3/i3/issues/2107
        
       | deagle50 wrote:
       | Happy i3 + Plasma user here, great combo. Thanks for all your
       | efforts!
        
       | amalgamated_inc wrote:
       | sway has had gaps built in for a long time :) I don't use them
       | though, why waste screen space?
        
         | nextos wrote:
         | I use gaps in XMonad and I find they help to make screen
         | borders (or shading in case I use a compositor) more visible to
         | quickly move my eye to the active window.
        
         | autophagian wrote:
         | I find that using gaps (not big ones, 5-10 pixels at most)
         | helps me differentiate between similar windows (like terminals)
         | much easier. And, also, I just looks more elegant imho.
        
         | badosu wrote:
         | As someone focused on productivity, gaps help me make sense the
         | current state of the desktop, by separating better the contents
         | of multiple windows in the same workspace.
         | 
         | For single window workspaces you just don't apply the gap
         | (smart gaps).
        
         | abhinavk wrote:
         | If I have a 27 or 34-inch monitor, I can spare 4-5 pixels for
         | elegance.
        
         | jesusofnazarath wrote:
         | [dead]
        
       | secure wrote:
       | i3-gaps is included in i3 v4.22, which is available in many Linux
       | distributions already.
       | 
       | You can find the release notes at
       | https://i3wm.org/downloads/RELEASE-NOTES-4.22.txt
       | 
       | Documentation for the gaps feature is at
       | https://i3wm.org/docs/userguide.html#gaps
        
       | danuker wrote:
       | I just realized I've been using this magnificent piece of
       | software for 7 years.
       | 
       | Stealing some tray icons (volume, clipboard, KTeaTime, network),
       | I built the setup I'll probably use for another 7!
       | 
       | Thanks to everyone involved! Tiling WMs rule!
        
       ___________________________________________________________________
       (page generated 2023-01-07 23:00 UTC)