I really miss the desktop environments available on Linux. KDE is great, and even Gnome beats MacOS. You can't even move windows between desktops with a keyboard shortcut on MacOS. The desktop experience on MacOS is a "death by a thousand cuts" situation. E.g. Popup dialogues will rearrange your windows (e.g. if the popup is wider than your window, to remain centered, it will move the underlying window and I'm not joking.) E.g. Mouse acceleration can't be turned off, which makes MacOS pretty awful for any mouse-centric workflows. E.g. Blocking animations that fundamentally can't be turned off.
That's on top of things that aren't necessarily faults with MacOS, such as getting used to different keyboard shortcuts.
On Linux, I get native Docker, up-to-date coreutils (they're different on MacOS), more precompiled versions of software I use, and having the Linux desktop software that I prefer. (Finder is frustrating, Gedit or Kate for text editing is great, GIMP is much nicer on Linux, etc.) I also miss KDEConnect.
I don't use Xcode, but as I understand, updating it messes with git and python.
But the battery life really is amazing enough to make it worth it. I'm really excited for Asahi to progress to a point that I'm comfortable using it.
https://forum.keyboardmaestro.com/t/move-frontmost-window-to...
My biggest gripe with Mac OS X is the window manager. I want to be able to ALT+right-click anywhere on a window to be able to move it around, alt+left-click anywhere on a window to resize it. I want to be able to click the dock icon for an app I'm using and have the most recently used window of that app come to the foreground instead of however it makes that decision. I'd love to get preview thumbnails of windows when hovering over icons in the doc so that I can select the window I want. Right-click plus reading window titles takes longer to find the window I need.
I want to be able to customize my fonts because I have a hard time reading text on my QHD external monitor.
I want a terminal that doesn't suck (and yes I use iterm2, it still sucks because I can't quickly jump to the end / beginning of a line to edit a command).
I want to be able to select text to copy to clipboard and use my middle mouse button to paste and I want that to work for all programs.
I want to be able to hold ctrl plus use the mouse wheel to zoom in / out of web pages on chrome ... something Linux and Windows both do out of the box but it just doesn't work on Mac OS X.
I want to be able to customize all of this and not feel like I'm locked in to "the Apple way" of doing things.
I lot of this is just familiarity and getting really used to a particular DE over decades of use and taking little things for granted. If all you've ever used is a Mac then I'm sure you've figured out how to be hyper-productive on that DE. I just find it strange that, from a company that somehow positioned itself as UX leaders ... I find that I'm 1/10th as productive on my work Macbook as I am on any nix device (and while Mac might use a heavily modified NetBSD kernel IIRC and have zsh and bash ... it feels very different from a nix machine to me).
Hold keys and click to move a window: https://mmazzarolo.com/blog/2022-04-16-drag-window-by-clicki.... I love it. Bind it to a mouse button with USB Overdrive for extra convenience.
In the terminal, use emacs-style bindings like ctrl-A and ctrl-E to move to the beginning and end of lines. On the Mac, Home and End are for beginning and ends of documents.
Use USB Overdrive or Steermouse to bind mouse buttons to whatever you want, including Paste. Select-to-copy might be impossible, though you could certainly do select-and-click-to-copy.
Cheers!
It's like using Arch Linux, except the software costs money, is proprietary, and people choose Arch because they would prefer their own config over the comforts and defaults provided by other distros.
Configuring a MacOS machine might require spending over $100 on usability software, providing personal information to a myriad of companies (Tools like IINA or iTerm2 are the exception and not the default.), and even after all that you still have a variety of unfixable usability issues.
KeyboardMaestro is $36 and BetterTouchTool is $22. With KeyboardMaestro, it's not clear what the license is (which makes it concerning for use in the workplace.)
> For almost every missing feature or annoyance in Macos, someone else has had the same thought and developed a solution.
I do appreciate the effort, but this isn't true. You can no longer disable blocking animations in MacOS, there is no Spaces API for instantly moving a window from one desktop to another, etc. And any of this can break with a MacOS update, and there's no easy way to automatically configure a fresh install. (IME, MacOS users use Time Machine backups rather than a fresh-install bash script.)
From someone used to the comforts of Linux, MacOS takes a huge amount of effort and expenditure to only get 20% of the way there.
There is no counterpart for Hammerspoon/KeyboardMaestro for macOS and AutoHotkey for Windows in Linux.
That said, that makes sense. I don't have experience with AHK or HammerSpoon, but I'd expect this functionality to be very dependent on the display server and overall desktop environment.
You summed it up nicely!
Sadly even with all the apps like hammerspoon, tiling wms and others, there are lots of stuff you can't customize in the macOS environment.
- No nagware (no Apple Music pop-ups, advertisements for safari, login nag in settings, et. al)
- Built-in package manager
- Having (relative) parity between production and development
Between those three, you probably couldn't pay me to go back to MacOS. Adding my own package manager, disabling ads and making my Mac into a Linux-equivalent machine is possible, but it's a lot of work to maintain and set up.
If I was a creative and used Adobe/Microsoft tools, I might be a little nicer to MacOS. As a programmer though? I haven't felt the desire to use a Mac since Mojave existed.
The Linux built in package manager is only ok. It often lags behind in versions of things I need. I ended up using Homebrew on both Mac and Linux. For the cases the Linux built-in package manager is too out of date I use Homebrew. It's not perfect on either system.
> - Having (relative) parity between production and development
For certain classes of development this is a big deal.
For my container work it doesn't really matter. I'm running Rancher Desktop and doing container based dev in the VM. Windows, Linux, or Mac doesn't matter as the host.
> - No nagware (no Apple Music pop-ups, advertisements for safari, login nag in settings, et. al)
I must have learned to ignore this as I've had Macs for a couple decades now.
On the flip side, a lot of business software I must use for work isn't available on Linux. I think this is the biggest problem for GNU/Linux as a general OS. There's some biz software that just doesn't run there.
Homebrew is down-right bad. There are certainly worse Linux package managers (pacman... looking at you), but if you're using MacOS I'd highly recommend giving Nix a try. Less muss-and-fuss, and stopped me from sending my Macbook on a swim in the local river.
> For my container work it doesn't really matter.
That's fine, it doesn't really for me either. The nice part (for me) is the native Docker and fantastic filesystem support. Whereas MacOS feels like a product I'm turning into a tool, Linux systems tend to feel like a tool out-of-box. Different strokes for different folks though, it really just depends on what you want out of a computer.
> I must have learned to ignore this
I must have learned to appreciate living without it, then. It's pretty jarring returning to a monetized OS like Windows 11 or Monterey for me.
> a lot of business software I must use for work isn't available on Linux
Oh yeah, for sure. Like I said in my previous comment, I wouldn't use Linux if I was a lawyer or a video editor. That being said though, pretty much everything I've used in the modern enterprise is browser-based. You don't need a native Jira app or a custom .DMG to run git. Arguably, everything you need is shipped right with most Linux distros.
I won't (and haven't) argued that Linux is perfect, but MacOS is converging with the Windows and Google school of desktop design. It worries me, and it's part of why I left MacOS in the first place. Photoshop is nice, but living on a computer that feels like a rented hotel room isn't very satisfying to me. Again, different strokes.
Curious why? I used to dabble with it and others.
A few macs ago (maybe around 2017), I switched to a strategy of “either the AppStore or brew”. I’ve never had a problem with anything from brew since. I install some productivity tools, standard OS tooling (Inkscape, Gimp, Libre), everything I need to develop for Python, Android, various embedded arm platforms, Elixir/Erlang. I even add some extra tools for Swift development.
It's a bit like comparing cakes. Homebrew is a frosted sheet cake, whereas Macports is that nice double-layer box mix your mom used to make. Nix is a coconut-dusted 6-layer wedding cake that hides a 10 course meal under the fondant. They're all delicious, but I have a hard time going back to the sheet cake nowadays.
No such thing. What distributions did you have experience with? And what distributions are you running on your production systems?
I’d also not be opposed to a package manager more geared towards making sure things work without fuss than trying to reduce redundancy. I don’t really mind if there’s multiple versions of whatever lib installed if that’s what it takes. Storage is cheap, my patience isn’t.
In theory flatpak and such should meet that need, but the implementation is so much more quirky and troublesome compared to e.g. Mac application bundles.
I do this on NixOS (and used Nix to do the same thing on MacOS). It's really great, but the up-front work of configuring everything can be a bit steep. The end result is pretty nice though - your environments are all sym-linked together from a common package store, and you can group together certain environments/package sets to update independently of one another. The icing on the cake is the rollback feature, where you can go back through the generations of your environment (until the packages get GCed).
It's not perfect (and it would test your patience), but Nix is an interesting commitment to the philosophy of using as much disk space as possible. I'm hopeful that someday it will be the de-facto package manager for Mac systems.
I have a Macbook Air M1 2020 and a Thinkpad X1 Carbon 7th Gen (4 years old!) running Linux Mint.
I have upgraded the Thinkpad's Battery, RAM (16GB), and SSD (500GB) for the cost of the parts. I will not be able to do that on the Macbook. Ever.
For what I do (browsing, videos, some writing and research) the only benefit to the Macbook is slightly better battery life. I have more software option on the Thinkpad for sure and it does not want to control everything I do.
I paid WAY less for the thinkpad and I get pretty much the same performance for my needs.
The THRUTH is that most people are being way oversold computing power and paying a premium for it because they are locked into the platform.
And just yesterday for some reason Safari vanished and re-arranged my bookmarks for no reason.
Getting my MacBook ready to sell as a matter of fact.
In my mind it is stupid (and poor marketing) that the linux community is not crushing Apple with cheap, fast laptops.
That is not how the economics of laptops work.
Most people don't want a Linux laptop. Call it inertia, but it is a fact that most people buy Windows laptops.
Most of the premium market consumers prefer Apple.
And most people who prefer Linux aren't paying a premium right now.
So you have three sets that do not overlap, and there is nothing the community can do about that in the short to medium term, anyway.
On my old MBP I get regularly nagged to update to Monterey. Despite it not being supported.
On my iPhone it wouldn't stop nagging me to accept changes to the iCloud T&Cs. There was no permanent opt out. You could say no for a bit and then it would go back to nagging you.
Same with Apple Music.
Currently my iPhone nags me to disable background running of Garmin Connect, so that I loose integration with my Garmin watch.
None of this endears Apple to me and is definitely a consideration for my next purchase.
I also don't have to worry (or at least I think that I don't) that the Linux kernel or my distro silently introduces a hack for their programs to bypass my firewall and VPN because they couldn't fix some bugs by the company-mandated release date:
https://www.cnet.com/tech/services-and-software/apple-nixes-...
1. I had hard time fighting openssl installed by Homebrew and getting Python to use it. On Linux - this is never an issue. In general IMO using homebrew is fairly tedious.
2. Debugging of stuff running on Linux. Sometimes logging is not enough and while remote debugging can be made to work (I mainly use Goland), it is pretty fiddly and does not work reliably.
I am not new to Mac or anything tbh. I used to use Mac about 5 years ago exclusively and then Linux for next 5 years and now using Mac again. IMO for kind of work I do - Linux is just leaps ahead of Mac.
Some window manager in linux are more like window manager frameworks, like AwesomeWM, that lets you customize its behavior via lua scripting. It's extremely powerful and allows you to get exactly the behavior you want.
But this part of linux is pretty niche stuff for sure though haha.
I wouldn't say I'm more productive thanks to this, but I'm way happier using a system I can set up so that it behaves how I want, instead of having to follow rules I don't agree with and can't change.
- desktop environment that is either sane (i.e. doesn't center align panels with variable number of controls like dock does) or can be customized
- keyboard without missing buttons, with actual button travel yet not touching the screen when closed
- option of a screen that doesn't double as mirror