[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)