407 comments

[ 2.8 ms ] story [ 323 ms ] thread
Give https://rectangleapp.com/ a try if you want a window manager that can place your windows around the screen nicely.
I've been using https://apps.apple.com/us/app/magnet/id441258766?mt=12 with my ultra wide I got for work. I like that it lets me do things in thirds.
As a Linux to Mac adopter I also use Magnet. No relationship to company.
So does Rectangle. I'm using it right now on a 49" U/W, with this Firefox window on the right-hand third, VSCode in the center third, and Discord in the top-left 6th, and Dune (2021) playing in IINA in the bottom-left 6th :-)

All tied to global keyboard shortcuts too. Free, open source, and does exactly what you've asked for.

This sounds really nice… I’m now quite keen on looking into ultrawides.
I use rectangle with a 5k2k 40” ultra wide monitor and it’s awesome. Very flexible and customizable, and I highly recommended it. Did I mention it’s free and open source? :)
Which monitor? I'd been waiting for the LG (forever) and finally ordered the Lenovo, although my shipping updates keep changing. I'll have to try rectangle once it's here.
Hows the macOS support on these? I’m due a monitor upgrade and an ultra wide is where I’m leaning..
I'll find out when it arrives!
I can give you some insight here.

I've been using a Samsung C49RG9x (49" ultra-wide) on Windows 10 for about four months. It was absolutely the right move to shift from 2 or 3 1080p monitors to a single 49" ultra-wide unit.

Now I've switched back to using my 2020 13" MBP, and thus macOS, as my work horse. Long story short I had to use a previously bought "CalDigit Thunderbolt Station 3 Plus" (a dock, basically) to get the monitor to work correctly. This is because macOS cannot correctly render to the monitor over HDMI.

I don't know why this is (because I don't really know much about displays or display protocols - I don't care to neither) but I tried a few cables and adapters and it gave me an odd resolution (3840x1080 I think) and a pink tint over the whole display.

The CalDigit "dock" solved this as it exposes a Display Port (1.2) option to the Mac. The moment I plugged in the dock and then plugged the monitor into it via Display Port it worked flawlessly.

That being said I still had to go into the display settings in macOS and change the resolution from "Default for display" to "Scaled". It's at that point you can choose the correct "5120x1440" native resolution for the monitor.

I believe I'm getting a 120Hz refresh rate too.

I've been extremely happy combining the ultra-wide with macOS and using Rectangle (which replaces FancyZones on Windows 10 for me) to "tile" windows all over the place.

I hope this was helpful.

I have a CalDigit TS3 as well. I can't really explain why (for the same reasons you can't), but I could never get the right combo of cables to get 4K @ 60hz on 2 27" displays until using the dock-- and I've used a lot of cables, always buying the ones that claim to be the latest displayport/thunderbolt, whatever.
It's pretty annoying, but now I've got the dock every problem I've had has melted away. Woohoo!
I recently started using MacOS. Rectangle is one the most useful apps I’ve come across… and free. I like that you can add padding to the windows. With keybind customization it’s a nice replacement for a tiling window manager.
Another alternative is yobai (+ skhd) https://github.com/koekeishiya/yabai

I switched to it after having some issues with rectangle sending some of my windows into the abyss (way outside of the screen) which forced me to kill the app and restart it to get it back. But if Rectangle works for you that's good too, it's probably easier to configure.

yabai is the only alternative if you are used to i3wm or bspwm
Did you disable kernel security to inject the window server extensions? I don’t understand the repercussions so I’m a little reluctant to.
Same, and this really makes it a deal breaker for me in my company's MacBook pro.
You don't have to do that, it works without. Those are for addons I believe.
(comment deleted)
Rectangle (and spectacle before it) is one of those absolutely essential tools for me when working on my mac. I didn't realize how essential it was to my workflow until it was accidentally disabled a few days ago and I struggled hard to use my laptop.

Happily donated to the author of an app so essential for my day to day productivity to show my gratitude for making it and making it open source. If the author happens to read this: thank you!

Spectacle was my jam. Simple and free.
I thought rectangle was the next evolution of spectacle
The Parallels Developer edition comes with a pretty great window snapping feature. Parallels was the only solution to run Windows on my M1 Mac. In addition to doing a great job at VMs, it comes with a bunch of handy utilities.
I got Parallels in a bundle deal and was really aggravated by the fact that it kept popping up notifications to install additional utilities. Way uncool.
Yes, so agressive, stopped using it because of it.
it is. Spectacle is no longer supported.
Is it the same developers. My main gripe is the complete change of key commands and the option to swap to Spectacle key commands is very limited.
Spectacle was created by a different developer. Rectangle contains nearly everything in Spectacle, and it includes an option when you first start the app or when you go to reset the default shortcuts to select the Spectacle shortcuts.
I still use Spectacle! Maybe I'll abandon it if I ever upgrade to Big Sur -- but it continues to work for me.
Is the "Jordan Peterson" who is a Silver Tier supporter of Rectangle that Jordan Peterson?
Usually people just make up names when they are donating. I’ve seen few Steve Jobs and Bezos around patreon.
Assuming you mean the one in the news, no. You can see on GitHub it's just a developer with the same name.
No, but in the realm of interesting Jordan Peterson facts, I recently learned that him and Jim Keller are brothers in law.
Yes. Keller was the lead engineer on the AMD K8 processor team, and the Apple A4 and A5 processors.
I stumbled upon the fact that Michael Pollen (author of The Omnivore's Dilemma and many other interesting books) is the brother-in-law of Michael J. Fox.
Also, you'd think Apple would natively support window tiling, but apparently their UX and desktop design philosophy is that they know best when it comes to window size and placement.
IIRC they recently added support for some half-assed tiling, only for two full screen windows side by side. It's called Split View.
MacOS does support tiling. You can tile exactly one window across the entire screen by pressing the green button. If you want to tile more than one window, you can buy additional monitors.

(This is sarcasm.)

Wrong!

You can tile two windows. :-)

https://support.apple.com/en-us/HT204948

But yeah, I use Recrangle for my macOS tiling. I use it all day, every day.

Would love something that worked more like Pop!_os’ tiling, or perhaps i3’s.

Strange. Is this new because AFAIK Windows was copied from MacOS and it had tiling at least from 3.0 ? Also in X window managers tiling was an old concept.
Windows 1.0 was tiling only. Overlapping windows were added in 2.0.
macOS window management philosophy is to not tightly manage windows, letting them live where they end up, not unlike papers on a desk. For occasions where windows need to be side by side and both fully visible (which at least for my workflow, isn’t all that often), they’re only loosely manually arranged that way.

It works for me at least. I have Moom installed for the occasions where I temporarily need tiling and that’s more than enough. Full tiling WMs on Linux give me a headache because with most of the programs I use, windows need to take up 70%+ of the screen to be usable which means the remaining space for other programs isn’t particularly useful, which defeats much of the purpose of full tiling.

macOS WM philosophy sounds like Outlook email philosophy: it should behave like paper mail.

Worst philosophy ever. Instead of figuring out how new technology enables better solutions to current problems, their philosophy is to emulate current solutions instead.

This is why I prefer gmail over outlook, and Linux over macos.

I’m not sure it’s so cut and dry. Workflows are highly personal things, so while something highly automated might work a charm for some while not working at all for others.
The mental model of windows having a consistent spatial location is deeply ingrained into MacOS because it's been done that way for decades. There are still old Mac users who complain that the Finder switched from a spatial model to a browser model.

https://arstechnica.com/gadgets/2010/09/macos-x-beta/14/#b6

That's an old article, but Siracusa is still complaining about the "new" non-spatial finder to this day.

Other window management options include Amethyst and Hammerspoon.
I highly recommend Hammerspoon for launching/focusing applications. Example from my config.

hs.hotkey.bind({"cmd", "alt", "ctrl", "shift"}, "F",

function() hs.application.launchOrFocus("iTerm") end)

I also use Karabiner-Elements to change capslock to cmd, alt, ctrl, shift.

Daily drove mac for 5-7 years after a childhood of tinkering with Linux installs (no professional development) and falling in love with an AwesomeWM setup with custom keybinds.

After getting into professional dev during / after high school I ended up using Divvy for an OSX window manager. It wasn’t fantastic, but I could set up custom keybinds and it was “reminiscent” of those tiling WMs I found so much love for as a pre-adolescent.

I recently (2ish years ago) switched from mac to a Debian then eventually Pop OS setup for my daily driver development environment. While not as robust as a custom arch setup with a tiling WM like awesome, Mutter is quite good and everything PopOS offers out of the box has been fantastic. Perhaps one of these days I will find the time to dive back into arch and configure a _truly_ efficient and customized workstation / dev env :-)

It’s interesting to see all of these alternative, perhaps even _better_ / more robust / more FOSS friendly mac WMs being listed here. I’m keen on giving them a try whenever I end up back on a mac workstation, but I cannot deny that my Divvy lifetime license has served me incredibly well for years, with support through many big OS upgrades.

I've been v happy with Divvy for many years. It's not auto-tiling, but it's perfect for for my purposes. Quick cmd-shift-arrow puts a window in [top 1/2, bottom 1/2, left 1/2, right 1/2] or cmd-shift-enter [for fullscreen] (across 2 monitors)... it's exactly right for me to avoid ever reaching for the mouse to position windows.
All thumbs up for Rectangle. Taken me a while to memorize the various key maps, but they're pretty intuitive actually once you get the pattern. Memorizing those is key to really making the tool rock. I do a thirds a lot.
Can you change workspaces without any animation (delay) with rectangle ? Or is just for tiling windows within a workspace ?

I've been using TotalSpaces 2 (https://blog.binaryage.com/totalfinder-totalspaces-future/) to change workspaces in macOS without the annoying animation which you cannot disable.

Too bad TotalSpaces 2 does not work with Monterey or M1 macs, so I am really looking for another solution that can enable this. I used to run skhd + yabai, but something about that did not click as good as with TotalSpaces 2.

Anybody know a solution for Monterey & M1 that you can use to switch between workspaces with the keyboard, without any delay ?

There is a beta-ish build (https://discuss.binaryage.com/t/can-we-help-test-total-space...) which works on Big Sur and M1, at least, (I haven't upgraded to Monterey yet.)
Thanks for sharing. Does not look like it's anywhere near production quality, but maybe it works just for transitioning between workspaces.

Seems there would be demand for such software based on the comments. For me at least TotalSpaces 2 has really changed how I use macOS, hopefully they will get it working on M1 & Monterey.

I'm using it daily, and while it does crash occasionally (but recovers fine after restart), all the features in TotalSpaces 2 seem to be there (including instant transitions and the overview). As a plus, it doesn't require SIP to be disabled anymore.

I have a feeling the problem of making it work was a bigger one than they expected, version 3 has been in the pipeline for a LONG time.

Also check out https://highlyopinionated.co/swish/ for a gesture-based window manager by swiping on titlebars. It also features snake-selector keyboard shortcuts, so there's really nothing to memorize.

Disclaimer: I made this.

Rectangle and its paid cousin, Hookshot (https://hookshot.app) are great. I use Hookshot.

They are the best window managers I've used on MacOS, because the resize features work flawlessly every single time. Other ones I've tried (e.g. bettertouchtool) have occasional issues with that.

They'd be perfect if they supported full customization of drop zones. They have some limited customization, including via the command line, but it's nothing compared to some of the other apps that are out there.

Hookshot does allow customization of the positions of the window throw (and long throw). You can create a custom shortcuts in the wrench and ruler tab, and then select the custom shortcut from the configure button for the window throw, at the end of the list. I realize this can feel a little hidden in the UI, so I'm planning on making it a little more straightforward in a future release.

The custom shortcuts in Hookshot are beyond what I've seen in most apps, especially since you can customize what happens in repeated executions of the custom shortcuts. Let me know what other apps out there have the customization that you are referring to.

Sorry just saw this. I actually already use keyboard shortcuts for some custom window positions. But I still usually just use the default snap zones because it's hard to remember the shortcuts.

BetterTouchTool goes a step further, and lets you customize the drop zones. I.e., if you drop a window on the top left, it snaps to your custom top-left position:

https://docs.folivora.ai/docs/104_snap_areas.html

https://www.youtube.com/watch?v=wtgOseyyJ5U

Hookshot's performance is great but AFAIK doesn't let you snap windows to custom areas without keyboard shortcuts.

I've been using Moom since 2013 as a window tiler on macOS. That combined with the new window snapping is much better than macOS tiling IMHO.
I wouldn't trade KDE for macOS. Not even close.
Hammerspoon has been really helpful in tiling windows with my keyboard and adding keybings like "jump to application". Also, there are a lot of useful plugins that add even more functionality like a fuzzy searchable clipboard history.
I love Hammerspon, I use it for keyboard switching to/launching specific apps, telling my iTerm2 + tmux session to ssh into certain remote hosts, automagically putting all my windows where I want them, manipulating my audio volume from the keyboard, toggling different input/output device pairs, etc.
Used to do my custom basic tiling with hammerspoon. I remember I loved it but at some point I started using Rectangle and I gradually forgot what I was using hs for other than window management.
I recently went back to Linux after using MacOS for seemingly ever.

I’m on Ubuntu LTS with ZFS and i3 and while I miss the amazing hardware of my 2020 MacBook (non M1) I just love the flexibility of the Linux setup: package management is a first class thing, containers are too; Magnet was nice but it’s no i3. And overall things just work which is really nice.

I do miss airdrop and access to messages and other aspects of the apple ecosystem that I enjoy from lock-in but I’m happy for now and going to keep at it.

After using macs for the better part of a decade and recently moving to Linux: the Linux desktop ecosystem is vibrant and fun if you like to tinker.

There are things that aren’t as streamlined like power management but I’ve been able to get my framework laptop to pretty much exactly how I like it.

I was nervous about sleep/hibernation but honestly using systemd and a couple of tweaks (enabling sleep-then-hibernate) and everything is super reliable, rarely any issues.

Wayland + Sway is a killer combination and everything is super snappy.

I fell in love with workspaces in Mac with touchpad gestures but on a high refresh rate monitor the animation is so slow and it cannot be tweaked. On sway there is no animation and it is instant.

I think once the steam deck matures we are going to truly see a year of Linux desktop soon.

I didn’t bother to test this because I don’t use multiple desktops, but maybe this is what you were looking for:

> defaults write com.apple.dock expose-animation-duration -float 0

https://osxdaily.com/2012/02/14/speed-up-misson-control-anim...

That stopped working several versions ago.

I've spent hours trying to make the Mac interface work well. I've come to the conclusion that it's unfixable.

Confirmed. Bummer. Sorry to hear that.
Can I install sway on the 20.04 LTS and when I choose it at the GDM login have it switch to Wayland? i.e Can I have both xorg+proprietary nvidia drivers running for i3 and stock gnome and then do wayland+sway when chosen?
I also recently moved back to running Linux (on a Thinkpad) after using macOS for a few years. One of the things I miss terribly from macOS is pinch-zoom in Chrome. Has anyone found a way to easily enable it? Thanks!
I am thinking about getting a MacBook Pro M1 Max as well, however I would prefer running Linux on it... hopefully Asahi Linux (https://asahilinux.org) is usable soon.

Or is there (or will there be) a serious competition to the MacBooks in 2022? It doesn't look like.

Asahilinux will always be second class on locked down hardware and there are already better performing laptops for half the price.

Don't financially support locked down systems if you care even the slightest bit about freedom of computing.

> there are already better performing laptops

Which ones?

I don't know about better performing, but Manjaro on my Dell xps 9310 is near flawless. I never think about performance, everything is immediate.
> I never think about performance, everything is immediate.

It performs all compute tasks immediately? I should start compiling LLVM on that instead!

Hah, yeah sorry, you get what I mean.
I love macOS because it gives me pretty much every Linux tool and commodity since it's Unix based but is well organised and with a nice GUI design, you should try it out definitely!
Amethyst has some quirks, and you need to restart it at least once a day. But releases are fairly frequent and I use it daily. I really like it. I've been using alacritty with tmux because I don't need all the bells and whistles in iterm2. macos mostly has bsd versions of command line tools which tend to lack a lot of features, so `brew install coreutils gsed` gives you sane versions of these tools at the cost of having to prefix everything with `g`. But good enough.
Somebody changes the OS they are using for personal use and this qualifies as "news" now?
Personally I read these posts for tools discovery. There’s all sorts of small random tools / packages for odd little things. If I read about what other programmers use I might learn about a new tool that makes my life easier.

  - :s/for personal use/for work/
  - it's actually an interesting question how usable MacOS is for a Linux user; especially given how great Macbooks are from the hardware point of view
Some of us switch the OS we use for coding and testing multiple times a day; the idea that one OS is superior over another is laughable. Each one has its own design problems.
I know but: 1) what might be hiding behind the title is an interesting opinion piece, and 2) it is the discussion that may be interesting, sometimes more so than the post itself.
It seems a common misconception that HN submissions must or should be news. From the guidelines under What to Submit: "Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity." The guidelines also say stuff like "Please don't complain that a submission is inappropriate", "Please don't post shallow dismissals", "Please don't sneer, including at the rest of the community" etc.
I wasn't aware that you are a mod here. Because, you are not.
(comment deleted)
(comment deleted)
(comment deleted)
(comment deleted)
It sounds like this could be the year of OS X on the desktop!

I jest, but this all sounds like a lot more trouble to get the experience you want than most Linux distros would give you. It's not the primary audience of OS X, sure, but it's nice to see how well-served by Linux a sizable slice of users is.

> I jest, but this all sounds like a lot more trouble to get the experience you want than most Linux distros would give you

I feel like this is an opportunity to delve into a classic, IRC like "Windows vs Linux vs macOS" debate here, but instead I'll simply state a well known, agreed upon truth in our industry: Linux is an absolute joke on the desktop. Even Torvalds thinks it's a mess.

Build your desktop from scratch if you like. It's your time. It's your life. But please don't mislead people into thinking Linux (on the desktop) comes even remotely close to Windows or macOS in terms of a good user experience out of the box.

> But please don't mislead people into thinking Linux (on the desktop) comes even remotely close to Windows or macOS in terms of a good user experience out of the box.

"Out of the box" is the key phrase here. GP said that Linux was good at serving a certain "slice" of users, and it sounded like they were arguing that trying to massage MacOS into something those users would like is probably more trouble than it works. The setup described by this blog post isn't really "out of the box" either, so I don't think it's crazy to suggest that to someone inclined to tinker with their setup to make it absolutely perfect would potentially be better served by Linux.

Not sure what "build from scratch" and "out of the box" are supposed to mean here.

Isn't it just installing packages?

And there are so many Linux distros now, that you can probably find a "box" with whatever WM or DE you want installed by default.

Though, it seems silly to do it that way. Installing whatever packages you want is so easy regardless of which ones install by default.

Installing is easy, configuring not always. Who thought blank defaults were a good idea in their package. But change distro and suddenly you have sensible defaults in the same package.
are we talking developers or end users in general? Because as a dev linux on the desktop works fine. I've been using basically bog standard ubuntu lts for a long time now. At my work where people can choose their OS it's like 40% mac, 40% linux, 20% windows

as far as I can tell in the industry linux workstations are common.

What a ridiculous overgeneralization.

A minimalist-ish Linux distro for a lot of people, especially those who mostly are on the web (hypothetical Grandma etc.) will 100% save you a TON of headaches over Windows, and fare quite well against Mac OS as well.

When she needs support or assistance, that theory holds about as much water as a fishnet.
SSH into her box (please, hold the giggles).

It's much easier to diagnose + make changes to remedy the problem on Linux (if you know your way around).

Hell, even if you don't: the majority of the system (barring systemd) is fairly transparent, and you can readily find documentation/articles/blogs to better help you understand the problem -- and even fix it. Contrast this to Windows: I have no fucking clue how all the moving pieces come together. I just know that I can fuss about deep in settings/group policy/on the command line and roll the dice to see if any improvements are found.

Granted, most of the time it is the same for Linux, but it's much easier to simply SSH in, muck about, and so on, than it is to use TeamViewer (or go through the logistics headache of actually getting in front of the machine in question).

Or with a Mac, just walk into an Apple store and get some training, for free.
That sounds awful.
Ok, lets say I have a Linux install when desktop is flickering and blinking rapidly and all text labels are either not visible or only every second letter is visible but flickering when mouse over. You are in an SSH which is working fine. Now what? :)

PS: real case from a few months ago on Fedora.

PPS: oh, and guess what advice I got from the "helpful" widely advertised Linux community? "You have picked a bad distro and DE combo" (c) and "You have incorrect hw env for these distro and DE, why didn't you pick ubuntu/mate?" (c)

"Okay, let's say I got a free car and it had a relatively obscure problem, and all they told me was to go get another free car instead of providing me perfect support exactly as I demanded, for free!"
The only problems I ever had with Linux over last two decades were exclusively "obscure problems". But there were a lot of them and they are always different and very entertaining. Basically it all boils down to the two factors working simultaneously - 1) bad QA process, and 2) extreme fragmentation of literally everything on every level, increasing test coverage beyond possible.

For me Linux will probably never be "home ready" and will stay on servers and embeds where it is perfect and amazing.

> "You have picked a bad distro and DE combo"

Ha! At one time I cursed those who threw this at me; now I know better, and throw it at others!

All joking aside, I really dislike Fedora and Gnome. It does have a lot of problems.

But, onto your problem: I would start at looking at the xserver logs, and ask about any recently changed settings/configs/options or updates/rollbacks. The logs are usually fairly good at telling you if something is !!!WRONG!!!.

Those are usually the most likely culprits, if the DE was working fine until all of a sudden it didn't anymore.

If it's a fresh install and right-off-the-bat it's buggy, then it's probably a HW issue (or the distro is terribad).

I would try xforwarding, and other built-in remote desktop options, to see if I could tinker around and get real-time feedback on how the display was looking.

On the other hand, if it's Wayland: I must yield, bow my head, wish you well, and withdraw from such an exercise.

It's almost impossible for someone who is computer illiterate to break a Linux install. Every problem I've dealt with on others' Linux desktops was solved with a reboot.
Have you seen the issues Linus tech Tips have been having in their Linux daily challenges? I think you'll find you're quite wrong, friend.
I haven't, but I assume Linus isn't computer illiterate.
he is. ;) It's not about Torvalds
Linus isn't computer illiterate, a computer illiterate person doesn't decide one day to replace their OS nor bruteforces through several warning messages a command-line based administration tool is telling them because they were trained from a different OS over many years to completely ignore warning messages.

If anything the most likely person to have issues and break Linux is the kind of person Linus is: an experienced Windows power user.

That is EXACTLY what a regular person does with computers. Linux crowd completely missed the point of Linus video - he is perfectly capable working with Linux and fixing issues. But in the videos he was role-playing a regular switcher user, that was the whole point of the video.
I think you have a very skewed view towards what regular people do with their computers. What Linus "role played" (which i don't believe he did, he genuinely borked his system) is a power user which is a very tiny percentage of PC users.

The vast majority of people use their PCs like (overly complex) tools while having an at-best superficial understanding of concepts like what files and folders are. By the moment someone realizes something like a folder being nothing more than a file with a list of other files (instead of something handwavy magical that groups files together), they're already above the 0.1% of the PC using population.

99% of everything a regular person does on a computer is done through a web browser these days, or they might use Zoom, Teams, Slack etc, too. Chromebooks suit regular people's computer needs very well, which is why I say that modern desktop Linux would suit them, too. Linux can provide a very stable and fast base upon which web browsers and Zoom etc can run, like ChromeOS.
Good thing the actual practice disagrees with you.

Dude, I do this. I literally onboard a good amount of friends and family to Linux. Also occasionally help out Mac people as well. Even now, I hear from the Apple people more.

I don't know why you want this to not be true, but, sorry, it just is. Once set up, Linux is MUCH MORE SOLID, much more "set it and forget it" than Windows or Macs. I'd agree that, say, 5 years ago, the set-up was harder. But that's no longer even an issue. I install Xubuntu on the thing, tell them their password, tell them to go ahead and click yes when it's update time and I just don't hear from them all that much ever again.

You used the phrase "5 years ago" and in some other comment I read "few years ago" and I just want to add, well, "add" a few more years ontop of that. I switched away from windows in 2017 and the experience was already very good.

Another switch in 2019 (Unity->KDE) I can't tell if it got even easier, because I was not as much of a noob anymore than 2 years ago, naturally.

Try to get video acceleration working with nvidia in FF/Chrome.
I too can cherry pick "Things that suck" in any OS. What's your point?
It's something nearly everyone uses every day, that should just work in 2021. Especially hypothetical grandmas.
Every single HN thread vaguely related to Linux desktops there's these guys who never tried it for more than a couple of minutes but still feel the need to come here to spread their bullshit. GNOME these days is on par with MacOS if not better on every aspect.
Been using it for close to 15 years.

Too much work for very little gain.

Please do share your experience then. Because it's been working amazingly out of the box since years.

I love macs but I have to spend way more time installing tools and configurations to get it to a level comparable to a similar Linux/GNOME installation

> Please do share your experience then. Because it's been working amazingly out of the box since years.

Until you need to install a driver, support a piece of modern hardware, use an nVidia GPU for anything serious, and more.

> to get it to a level comparable to a similar Linux/GNOME installation

They're not comparable systems, so I can't give you a comparison. That's sort of the point.

> Until you need to install a driver, support a piece of modern hardware, use an nVidia GPU for anything serious, and more.

For f*ck's sake, getting hardware to work on Linux has been easier on Linux than other OSes. Most things are literal plug-and-play, no trash Windows GUIs required. NVIDIA drivers have been exceedingly easy to install on Arch, Ubuntu, and (especially) Pop, and mainstream distros. A few years ago it was a pain, but I haven't had problems in ages. I don't know what you're thinking, but as a daily Linux user today, I have never had "driver issues" with modern hardware. And funnily enough, my niche hardware also tends to work on Linux. My Bluetooth adapter is a random dongle ripped from a VoIP station. I have on Windows, though. Perhaps that's due to the wonderful ArchWiki, no idea.

Also try doing NVIDIA-based ML on Windows. Very hard to set up a dev env. Hard on Linux too, but at least it's supported (last I checked).

Just to add to that list, Fedora is easy to get Nvidia / Optimus cards going these days too - wasn't the case a few years ago but now I can do a clean install and everything just works.
Spot on. I don't know what year people are talking about. I have used KDE the last 5 years and literally everything I have ever wanted to do has just worked.

No one can possibly have less patience for bullshit and things not working than me. At this point it is exactly why I can only use linux. I have barely thought about the OS the last 5 years.

You cited Torvalds. So you were talking about the desktop experience. Now you're talking about hardware compatibility and that's not a fair comparison, on the other hand you have a vendor that makes its own hardware, and the reference OS for every OEM. Linux hardware support has been stellar considering its intrinsic disadvantage.

Linux Desktop, as in the Linux Desktop experience, as in GNOME and its ecosystem, is on par if not superior with boh MacOS and Windows.

15 year user of Ubuntu. Here's an easy one: a laptop with an iGPU and dGPU playing nice with a dock. Same deal with an eGPU.

I use Linux and in all likelihood, will continue to for a couple years. But there are these rough corners that simply just work in mac (and windows). With the M1 outpacing intel, it's becoming more tempting to jump ship.

Sure but that's hardware enablement, we're talking about the desktop experience. Or at least so I thought.
The hardware enablement impacts the desktop experience.
> Been using it for close to 15 years.

I think it really shows you actually haven't.

> Linux is an absolute joke on the desktop

Linux Mint is seriously easy to set up with its driver manager. I don't see how any issues would arise and thus far I haven't had any issues with setting up any Linux distro except for arch's ethernet at one point. That's around 15 Linux distros which worked just fine

Well, "every" can't be true because fonts look way better on MacOS.
Used to maybe. Last I checked Linux still has font antialiasing with subpixel hinting while MacOS removed it completely and fonts look terrible on anything sub-retina.
Don’t care, got Retina, they still look better, regardless of nerd words.
As someone who uses MacOS, Linux, and Windows daily for development, family, general business use, and infra administration - and have for nearly 30 years - this is just not the case. Plasma is much farther along than GNOME but neither are as fluid and put together as MacOS. Now against windows, it’s very close.
I disagree entirely. If a user's use case would be suited well by ChromeOS, then it's been my experience that Ubuntu or something similar with Firefox or Chromium will suit their needs just as well.

Modern desktop Linux is actually a nice user experience, and contrasts with the poor Linux desktop experience before ~2015.

> If a user's use case would be suited well by ChromeOS

Do you know anyone like this? All such people I know prefer the UX on iPad.

Are you really implying that all willing Chromebook users would prefer an iPad? Chromebooks just work, they're cheap and replaceable, ephemeral even. The UX isn't amazing but it's pretty damn great.

iPad UX is by far some of the worst UX I've ever encountered. Nothing is obvious or straightforward, so many weird gestures and an overloaded single button.

(comment deleted)
> But please don't mislead people into thinking Linux (on the desktop) comes even remotely close to Windows or macOS in terms of a good user experience out of the box.

So how do I record system audio on macOS in Audacity again?

Remind me how slow homebrew is compared to pacman on Arch? Having to click through the Security thing in System Preferences because Apple wants to protect me from apps I already know I trust, spending two hours trying to compile the new untested Tailscale since the App Store is broken and Tailscale used some API only App Store apps could use, trying to get my Logitech Marble Trackball to scroll when I press a button and roll the wheel so I can use my mouse. God forbid I want to use my mouse and not spend three hours trying to fix it when it took two minutes to copy the config off ArchWiki for X11 and two seconds to paste the command in on GNOME.

I could go on. Just like Linux has problems with user experiencs, macOS has some pretty egregious faults as well. As a developer, Linux is much more user-friendly to me and has a way better user experience. I can make my system do whatever I want without dealing with macOS's restrictions and that's what a good user experience is to me.

Yeah, I ran linux on the desktop (and laptop) for years and I learned a lot, but it sucks.

Occasionally I see comments on HN and I’m inspired to try again. It still sucks every time. Basic stuff like bad trackpad support, laptop failing to suspend, software scaling/resolution issues, missing drives on install, etc. etc. - you can hack it to work, but it’s not close. With M1 performance the difference is even more extreme than it’s ever been.

Use what you want of course, but I’m not sure why people pretend it’s something it’s not. Though OS arguments are mostly religious arguments.

> But please don't mislead people into thinking Linux (on the desktop) comes even remotely close to Windows or macOS in terms of a good user experience out of the box

I use KDE on Linux, and when I do a fresh install, it takes me about 5 minutes to set the settings how I like, 0 janky workarounds, 0 external software, and 0 reboots. The adware/bloatware in Windows and the ridiculous feature deficiency in macOS give me put UX so low that KDE doesn't need to be that good - although it is.

Interestingly, yesterday, after having to login and "enroll" into some kind of Micro$oft program to download older visual studio 2017 (which I only needed to compile from source and it was a dependency, not actual use). This rubbed me off so much that I thought I need to take a break from Windows. I installed Ubuntu 20.04 LTS. It took me less time than ever to setup, hiDPI seems to work fine. No problems with suspend, GPU or sounds, everything works. So far I think UX for new users might be even better than macOS. (constant mac laptop user)
You sound like someone without multiple monitors of differing DPI, which I found to be suboptimal on Gnome versus macOS.
It's suboptimal, period. On any OS. Don't do that to yourself.
Completely fully disagree with you. My colleagues, friends and a family member have been using Linux for years now. I myself started using Linux full time for about ten years now.

I'll never go back, Windows and Mac cannot touch the experience with a ten foot pole. And Mac does not even begin to know what window management is.

I know, it's anecdotal. But claiming that Linux is not viable on the desktop is just plain silly.

> I feel like this is an opportunity to delve into a classic, IRC like "Windows vs Linux vs macOS" debate here

Congrats on seizing the moment and living your life to its full potential.

What have you done with your life, again? What books have have you written? Is it you or me that runs a Discord with 2,000+ members? Have you got 6,000 members for your video courses?

Sit back down.

All amazing achievements, and I’m really happy for your productivity and freedom of self-expression.

(I’m very comfortable where I am, thank you for your concern)

Completely agree. Ubuntu 20.04 with a 5k monitor (Dell UP2715K)? The result: Burn in that lasts for an hour and graphics completely messed up. After a few days the monitor broke. Are 100% scaling too small for your new 4k monitor? Well if you think 200% is too much, you'll have to switch to fractional scaling, where things get blurry. Don't know about macOS, but Windows have no trouble scaling things nicely to 150% for instance.

In Windows there are no monitor issues and it's super easy to set up my PlayStation 3 controller for games (that are also nicely supported). Overall there's just less configuration in Windows.

Instead I run Linux in VMware, which comes with its own perks: By creating a virtual machine per project, everything is neatly grouped in its own workspace, and by suspending instead of shutting down when done, I can get back to where I left off as easy as loading it's previous state from disk, with everything open - unsaved documents, applications, browser tabs, etc. I get the best of both worlds this way.

NextStep was available for PCs as well as NextCubes. When do you think Apple might release their Intel MacOS code for PCs? It could give Windows 11 a run for its money.
Possibly worth taking a look at MacPorts and Pkgsrc, both of which are arguably better package managers than Homebrew, although the latter has a hell of a lot more packages (and is pretty easy to roll your own packages for).
Ought to use Mos for the mouse scrolling fix. Works pretty well. I think there is a brew cask for it too. https://mos.caldis.me/

I also used Linux for years and that has separate options (Gnome) for mouse and trackpad scroll direction. Really sad that this isn’t built in functionality. But hey, we got more emojis and FaceTime faces! /s

This is great guide to making macOS more comfortable for Linux users. I'm a pretty serious macOS (and Linux) user and was pleased to have learned something valuable from this article.

defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool YES

It drives me crazy that my desktop Hackintosh wakes up every couple of hours, and I'm really hoping this fixes it.

> It drives me crazy that my desktop Hackintosh wakes up every couple of hours, and I'm really hoping this fixes it.

Oh, I hear you! I've personally just given up and disabled sleep altogether, and moved to forcing the system to always hibernate instead of sleep with pmset.

Never tried it, but you should be able to copy `StandardKeyBinding.dict` to your library, convert it to XML and edit keybindings directly.

I also like 'Spectacle' to move windows around.

What’s the current state of tiling managers on macOS? Seems Rectangle, Magnet and Amethyst are all mentioned below, has anyone done the “pepsi challenge” and cares to share their findings?

I’d be grateful but I guess I just have to try all three myself…

I gave all three of those a try when I was trying MacOS a year or so ago. Rectangle and Magnet basically fill the same niche, except Rectangle is free and kinda eliminates the need for Magnet (I don't quite remember what Magnet did better but I don't remember it being enough to convince me to use it). Amethyst is entire beast of it's own though, and I almost immediately decided it wasn't for me. It doesn't replace the default window server, so it ends up running like a bad TWM and an even worse desktop option. Of the three, Rectangle is the only one I can't live without on MacOS. Amethyst kinda just feels like a waste of resources.
Thanks! I’d give you a beer but you’ll have to settle for internet points :)
Complete outsider here, when you say ‘replace the default window server’ are you referring to the manager or the entire display server with something like X?
Nope, my bad for the ambiguous wording. What I really mean is that all of the memory-intensive GUI elements are also running alongside it, which makes it pretty unweildly for regular use. Nothing against Quartz, it's one of the few Apple technologies that I'll give credit where credit is due :p
Yabai gave me the best results by far! It's as fast as you can really go on MacOs and it feels like a true twm system. Unfortunately, due to restrictions of the OS itself (you can see the issue tracker) you can't really have the same quality of tilling as you can on Linux's X or Wayland.
I've used Magnet in the past and now I'm using yabai+skhd. I would say Magnet brings features similar to Windows10 like regions and snapping, while yabai+skhd is closer to something like i3wm with focus movements, space/screen management, swaps, etc.
I've used both Magnet and Rectangle. They're virtually identical (even the default keybindings). Every now and again, Rectangle will not place a window correctly and I'll have to restart it, but that is rare. I highly recommend both. I haven't tried the other options, so I can't comment on them.
> 3 times the CPU performance of my desktop system with an Intel i7 6700k

I love those performance comparisons with 5-10 years old processors. Let's compare M1 with 80186 from 1982, then it will look even faster!

Here is comparison with the new mobile Intel processor that will be released next month:

https://browser.geekbench.com/v5/cpu/compare/11905527?baseli...

When I click that link, I get some fake popups saying my "phone has been hacked" and that my "phone has viruses".

I didn't even bother to try to read any of the content.

You should install uBlock Origin plugin for browsers. It will block any advertising and other unwanted content. I don't know how you guys living without an ad blocker.
Would it be possible to provide a link that is from some low budget ass website?
I updated the link and now you should see results on the official Geekbench website.
I am running uBlock, and almost none of the images on the page load right now. And seeing the way the title on that page is written, I'm not expecting quality content from there. Maybe share a link to a page that doesn't suck?
> You should install uBlock Origin plugin for browsers

I do use it on my PC, but I'm on my Android right now. Do ad blockers work on Android?

I guess I haven't cared enough to look since I mostly just do light web usage on my phone: HN, reddit, and twitter are about it, and ads aren't too bad on those sites.

Either way, I don't think it is too much to ask for web sites not to have actual scams on them. I'm not talking about legit ads which are annoying enough, but rather things that try to mimic a pop-up window and tell me my device is hacked or has viruses.

I'm not going to fall for that of course, but some people are less aware and might.

ublock origin works at least with mobile firefox. I have no idea what folks do with the other android browsers though.
There's Firefox for Android which supports uBlock Origin.
You can browser-based ad blockers, but also system-level ones like DNS66 or Blokada. You can skip those apps if you point your phone at ad blocking DNS servers like Adguard's.
You are not missing much. That's a… weird site, to say the least.
> 3 times the CPU performance of my desktop system with an Intel i7 6700k

Translation: He got a new thing, and it's pretty nice. In case anyone wants to know his basis for comparison, here it is.

This article is clearly not about CPU benchmarks(or best blue tooth mice or best Linux distro or any of a dozen other things.)

I love my M1 Max and the phenomenal battery life.

But I agree - These performance claims are starting to miss the point. The real magic of the M1 is the battery life and thermals. It’s not actually faster than my AMD desktop when it comes down to testing things like compile times, but I don’t care because the M1 lets me do it on battery in a portable manner.

I love comparisons of M1 to desktops.
You can show/hide terminal windows with a hotkey natively using iTerm2.

Under Preferences > Keys > Hotkey I've set the system-wide hotkey to option+space which means if I need a terminal, I can press those keys and have iTerm pop up over my active window.

Pressing them again hides the window and brings focus back to the previously active window which has been great for productivity.

I highly recommend Hammerspoon[1] for any macOS automation tasks you want to do. It is not only extensible but alleviates the need for using multiple tools due to its broad feature set.

The only downside after two years of using Hammerspoon is that the community is small since it isn't as user-friendly as yabai, amethyst, etc. However, you'll probably enjoy its open-ended nature, given your article.

[1] https://github.com/Hammerspoon/hammerspoon

Hammer spoon is the shit. It’s super rewarding to be able to add really complex functionality (like menu bar applets) with ease.
I used to love iTerm2 but the only thing that it was missing was that I couldn't set it up as I wanted with a script when I needed to install a new macOS from scratch (there's probably a feature that allows that and I didn't notice).

I moved to tmux + Alacritty [1] (Rust hype and speeed) which is cross-platform and only needs its config file, a nice and clean yaml, in the right place to restore it as I want. Now when I full wipe my Mac I just need to run the script that pulls the config file from GitHub and tada! Also, the configuration file is almost identical to my Linux one so I can move around similarly and have a consistent look.

I'm also used to replace macOS programs like `sed`,`grep`,`getopt`,`ssh` (macOS OpenBSD one won't work with Yubikey),`coreutils` and `awk` with the GNU version. You can download them with Homebrew and to replace them with the macOS default ones you just need to put them at the beginning of your path like this:

    export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH
[1]: https://github.com/alacritty/alacritty
iTerm2 3.4.14

Preferences > General > Preferences > Load preferences from a custom folder or URL

You can save your preferences and load them as required.

You entirely miss the point. Folk want to do this from a bootstrap script. iterm makes this difficult.
iTerm doesn't make a bootstrap script easy, but it's still possible. I do it.

Use this to command to set the location of the iterm config folder:

   defaults write com.googlecode.iterm2 PrefsCustomFolder -string "/path/to/iterm config folder"
Then as long as that folder exists and contains your preferred settings, when iTerm opens up it'll be exactly like you want it. (though it would have been nice if this just defaulted to $HOME/.config/iTerm)
There are a bunch of ways to do this while bootstrapping. Just store your iterm config in a dot files git repo, and then symlink it on a new system. You can even use dot bot to automate symlinks. That’s just one way of doing it, I’m sure there are many other ways.

It’s weird to hear someone proficient enough to be talking about bootstrapping a dev machine complain about solving a very trivial problem.

+1 for alacritty.

However now that I don’t daily drive mac as much, I’ve defaulted back to iTerm 2 for when I do happen to be doing something on my mac. The default configuration is quite good out of the box. All I really need to do post-install is get my beloved zsh + ohmyzsh plug-ins and I’m good to go :-)

And also my tmux dot files ;)

With Mac you can usually just copy your entire ~/Library/Preferences folder to get all your apps back the way they were on a new Mac. It's a collection of pliat files that basically are equivalent to the registry on Windows.

There's even a system wide equivalent at /Library/Preferences

For a very limited set of apps perhaps.
You also want ~/Library/Application Support

Of course if you're using a lot of cross platform stuff it tends to ignore those conventions in favor of a bunch of ~/.stuff/ folders

Yeah my post was not meant to be an exhaustive list of course :)

But apps that play by Apple's ideas do generally do this. Application Support is more for files rather than settings.

Kitty has more features and is easier to use than Alacritty IMHO

https://sw.kovidgoyal.net/kitty/

As a recent convert from Alacritty to Kitty, I can confirm this. Kitty blew Alacritty out of the water in the first 10 mins of my experience with it.

Like holy crap, it's a very well written and well thought out piece of software. And it's fast. I'm all about the Rust hype, but Kitty reduced latency drastically.

Still slower than xterm. And I have yet to see a feature I need that's not in (famously bloated) xterm, and which Alacritty or Kitty provide.
By what measure is it slower?

I don't really notice any difference in doing day-to-day stuff, but I tried out tree across my entire ~/projects dir and got the following results:

XTERM:

28032 directories, 196844 files tree projects 0.65s user 1.19s system 56% cpu 3.229 total

KITTY:

28032 directories, 196844 files tree projects 0.62s user 0.75s system 55% cpu 2.475 total

Latency and startup time are largest contributors to my feeling. I don’t have a measurement, and both are difficult to measure.
But why did you stop using linux?
Says “for work” in the article.
some other suggestions (free):

  * window management/positioning: Spectacle, Easy Move+Resize
  * screenshots: Lightshot screenshot
  * status bar icons management: Hidden Bar
  * calendar on status bar: itsycal
  * battery: Battery Monitor
  * hex file viewer: Hex Fiend
  * folder/file compare: Meld
As covered elsewhere in these comments, Rectangle is the new Spectacle. https://rectangleapp.com/
thanks - looks like they chose a different set of shortcuts, that's a bit annoying after years and so much muscle memory
You can rebind easily. I find Rectangle to be much more lightweight than Spectacle
Thanks for the list. Regarding screenshots, I like macOS' built-in screenshot keybindings:

Command+Shift 3: Captures the entire screen.

Command+Shift 4: Captures a specific region (You have to select the area each time).

Command+Shift 4, Space: Captures a specific window.

Command+Shift 5: Captures a specific region (Remembers the last selected region).

Command+Shift 5 also displays a menu at the bottom of the screen that lets you select any of the screenshot options as well as options to record a specific window or the entire screen.

yup thanks for the reminder, I usually go with the app above because it allows to draw on top of the screenshot and to copy in memory (e.g. to copy and paste into some IM), e.g. adding arrows, text, lines, something I use for example to highlight areas of the screenshot
Same is possible with the macOS shortcuts. After taking a screenshot, preview is shown in the lower right corner. If you click on it, you can draw on top of it, and use Ctrl+C to copy it to the memory.
Hold down Ctrl when using these shortcuts to copy directly to the clipboard.
As a linux user since the Ubuntu 5.04 Hoary Hedgehog days, this is the first time in 16 years I've been tempted to switch to a mac. From what it looks like, the M1 seems to be deliver incredible performance at little power consumption. If there was a way to put linux on it without tinkering, I'd do it in a heartbeat.

But because I can't, I'm seriously considering what it'd take to switch from my current setup (ubuntu 20.04, cinnamon, slide dock) to a mac. Keyboard shortcuts and workspaces are top of mind. I've also never been a fan of mac's dock where it groups all instances of an application together - I much prefer a classic Windows tray where each instance of an application has its own box I can easily alt-tab between. I also think mac's file manager isn't great.

Much appreciated OP - may shoot you some questions over email.

"apple's builtin music player"

Are they talking about iTunes? oof. I'm an apple all the way person, and even I would say "noooooooooo" if you don't have an existing collection of iTunes music

May I ask what you use as a music player on Mac? Are we stuck loading music on an iPhone with iTunes?

I remember the days when iTunes was good and snappy, but that was centuries ago

I use iTunes because I have an itms library. The app is still super frustrating.
It hasn't been iTunes for a few years now. It's literally just called "Music", which is likely why the author just said music player.
oh good point - it's just permanently iTunes in my head
What is people problem with iTunes? I've used it voluntarily as a main music player and catalog app on Windows since Win2k. Amazing app, very nice interface, a lot of options, stable. I don't use it now only because I've switched to Spotify streaming.