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