Making macOS Bearable

2025-12-102:375891seg6.space

Ideally, a computer system should feel like an extension of your body. When you pick up a cup of coffee, you don’t consciously think, “I need to engage my bicep, extend my forearm, and grasp with my…

Ideally, a computer system should feel like an extension of your body. When you pick up a cup of coffee, you don’t consciously think, “I need to engage my bicep, extend my forearm, and grasp with my fingers.” You just think “drink coffee,” and your body complies.

I’ve spent the better part of eight years on various flavors of Arch Linux, and over that time I settled into a local minimum: a system configuration where I can enter a flow state, forget I’m using a computer at all, and just focus on the work. The machine disappears.

Recently, I started using macOS (my workplace issued me an M4 Pro MacBook, and I can’t yet put Asahi Linux on it), and with this change, that neural link was severed. Stock macOS gives me something like motion sickness whenever I try to accomplish anything. There’s just too much friction in Spaces, Mission Control, window management, all of it.

So I set out to fix this for myself.

the “where’s waldo” problem

Apple wants you to use Mission Control. They want you to swipe up with three fingers, see a scattered mosaic of every window you have open, and then use your eyes to scan for the one you want.

mission control

This is terrible!!!

Visual search is the most expensive cognitive task you can perform while focused on doing something. Every time you have to scan the screen to find a window, you are breaking context.

My hierarchy of navigation is as follows:

  1. Shortcuts: I know exactly where something is. I press a key, and I am there.
  2. Fuzzy Finding: I know what I want, but not where it is. I type three letters into Raycast, and it appears.
  3. Visual Search: This is the fallback I try to never use.

encoding location with aerospace

The default macOS window model is “floating.” Windows pile on top of each other, you drag them around manually, and Spaces lets you swipe between virtual desktops that have no enforced structure. It’s flexible, but flexibility without constraints is just chaos.

To fix this, I use Aerospace. It’s a tiling window manager that replaces the native “Spaces” concept with rigid, deterministic workspaces.

aerospace

Aerospace allows me to spatially encode my software. I don’t need to “check” where Spotify is. Spotify is on Workspace 9. Always. My browser is on Workspace 1. My terminal is on Workspace 2.

[workspace-to-monitor-force-assignment]
7 = 'secondary'
8 = 'secondary'
9 = 'secondary'

[[on-window-detected]]
if.app-id = 'com.mitchellh.ghostty'
run = 'move-node-to-workspace 2'

This turns navigation into muscle memory. Cmd-2 is not “Switch to Terminal”; Cmd-2 is just the physical reflex of “I want to code.” I don’t look. I just hit the key combination, and the active workspace changes.

development workspace

Inside Workspace 2 lives Ghostty, running Tmux.

But standard Tmux keybinds are too clunky. The default Ctrl-b prefix doesn’t spark joy to use. I use root bindings (-n) to bypass the prefix entirely where I see it fit.

I don’t use panes; I use full windows as “views.” Alt-1 switches to the first window. Alt-2 switches to the second. But here is the logic that makes it flow:

bind -n M-1 if-shell 'tmux select-window -t 1' '' 'new-window -t 1'

If window 1 doesn’t exist, it creates it. I don’t “manage” windows; I just go to where I want to be, and the system accommodates me.

To glue it all together, I wrote a custom Rust tool called ws.

ws session switcher in action

When I hit Alt-s, a fuzzy finder pops up over my current work. I pick a project, and ws instantly attaches to that session or spins up a new environment with my editor (helix) and file manager (fx) ready to go. It maintains a stack-based history, so I can jump to a project, fix a bug, and hit “Back” to return to exactly where I was.

the language of motion

Humans are incredibly good at language. We are hardwired for syntax, grammar, and structure. We are not hardwired to hunt for pixels on a glowing rectangle.

This is why I use modal editing. It stops text manipulation from being a manual labor task, e.g. dragging a mouse, holding backspace, and turns it into a conversation. If I want to change the text inside some quotes, I don’t drag a cursor; I speak the command: ci" (change inside quotes). It is linguistic. I am speaking to the editor in a language we both understand.

The problem with modern OS design is that it abandons this linguistic efficiency for visual clutter.

bypassing the mouse

Of course, I still use the mouse. I’m not a zealot. But for 90% of web browsing, lifting my hand to the mouse is unnecessary friction.

I use Vimium in the browser.

vimium

When I want to click a link, I don’t aim; I just look at it. Two letters appear over the link, I type them, and it clicks. It feels telepathic. I look at the element, and the element activates.

I recently added Homerow to the mix, which brings this same “look and type” navigation to the entire macOS UI. It allows me to click system dialogs or toolbar buttons without ever leaving the home row.

By layering Aerospace, Tmux, and modal editing, I’ve tried to replicate that “extension of the body” feeling. The goal isn’t to be a “power user” for the sake of it. The goal is to remove the lag between thinking “I want to do X” and the computer actually doing it.

The dotfiles and the relevant Hacker News discussion.


Read the original article

Comments

  • By GolDDranks 2025-12-103:336 reply

    "But for 90% of web browsing, lifting my hand to the mouse is unnecessary friction"

    By this point, I realized that the OP uses a normal mouse. The MacBook trackpad is so good that I feel weird using a mouse these days. Also, the travel between the keyboard and trackpad is much smaller.

    • By daveidol 2025-12-103:36

      I agree but barely ever use my MacBook not docked to my external monitor and keyboard. So for me I just stick to the Magic Trackpad in such cases.

    • By seg6 2025-12-103:391 reply

      I really love the trackpad on the MacBook; it's been the best experience by a long shot coming from other laptops. The problem is, most of the time the MacBook is docked and I prefer to use my external keyboard and display. And Vimium is just very fun to use, especially if you're using Vim/Neovim/Helix.

      • By Spartan-S63 2025-12-105:122 reply

        For that reason, my default docked setup uses a Magic Trackpad 2 alongside my keyboard so I can have the best of both worlds. I know it’s excessive, though, and not for everyone.

        • By ZPrimed 2025-12-107:28

          This is the way, though. I do exactly the same thing. I was a trackball user for many years on Windows (due to wrist & arm pain from mouse use), but the Magic Trackpad works way better with macOS than trackballs (primarily because the Kensington software is garbage).

        • By dsego 2025-12-1012:07

          I also use the magic trackpad. I even tried the renowned logitech mx master 4 but returned it the next day, heavy and straining for the wrist. And all of the extra buttons and actions on that mouse don't make much sense when the trackpad has gestures.

    • By mathstuf 2025-12-107:591 reply

      I know I am weird, but I detest using a MacBook trackpad. However, recently having used Asahi on one, I've found that it is the Apple software that makes it so. I find it really difficult to drag and drop (I would rather open Terminal and standard Unix tools than try anymore) and gestures are way too greedy IMO. Under Linux it is bearable for me (though I still have preferred others slightly for a better texture than the glassy feel).

      I wonder if the author is like me in that respect? Not sure I would spend time like this, but I also spent months building my Linux environment from a tty in 2009-2010 (landed on XMonad, finally on River this year after 5 months in GNOME purgatory to force myself to move to Wayland). Last macOS machine I set up, I turned off a bunch of stuff in Settings and was instantly bored because I just didn't want to deal with the window manager at all. It is now my video chat machine because of Dell's "wise" decision to use IPU7 hardware…but I really don't like using it for much else (Asahi reboots are tedious).

      • By dzhiurgis 2025-12-1010:091 reply

        > difficult to drag and drop

        Old trick is to enable three finger drag. Does linux have that?

        • By mathstuf 2025-12-1012:02

          I don't think so? But I've never had issues on Linux to need to bother with alternatives (as a terminal dweller, drag and drop is very rare there).

    • By vardump 2025-12-103:382 reply

      Macbook trackpad is weird. On the other hand, it's excellent for most desktop tasks. But I just can't play almost any mouse-requiring game with it.

      • By dsego 2025-12-103:44

        It's not for gaming, but I think it's just generally not a good interface for it.

      • By krackers 2025-12-105:04

        Maybe that might be because acceleration curves are tweaked for most common use of browsing.

    • By mos87 2025-12-104:03

      Not everyone uses a laptop as their desktop too.

    • By wahnfrieden 2025-12-103:42

      Especially with all gestures enabled and used

  • By tptacek 2025-12-103:087 reply

    I'm never going to use a tiling window manager, but I also never touch Mission Control (or Spotlight). I use Alfred.app to call things up; before Alfred.app, all the way back into the early aughts, I was using Quicksilver.app, which does the same thing. CMD-Space, type a couple letters, blam.

    • By blacksmith_tb 2025-12-103:291 reply

      I really like Alfred, it's a worthy descendant of QS for sure. To be fair, it is possible to use Spotlight for the same kind of "invoke, start typing, hit return to launch" workflow (it's just uglier, and not extensible). Lots of Linux DEs have similar searchable launchers, and if you squint, Windows does too (but packed with extra crud - I think maybe PowerToys has something more QS-like?)

      • By 112233 2025-12-1017:431 reply

        Re: spotlight. I'd like to know the logic that went into decision to stop showing location of app in spotlight results. If you have multiple copies, you now get multiple identical looking results, and must pick a door that has no goat.

        • By spectre3d 2025-12-123:521 reply

          Hold down the Command key when you have something selected in Spotlight, it will reveal the path.

          • By 112233 2025-12-128:23

            Thanks, it does. For single item. This honestly makes it worse, because it clearly signals intent behind the change. Apple software continues to be like that one friend who insists on keeping his apartment orderly and minimalist and achieves it by stuffing all mess under bed and in cupboards. Cannot find or use anything, but looks good on instagram.

    • By D13Fd 2025-12-104:041 reply

      I use Alfred a ton throughout the day. I have many workflows and other settings that I set up years ago that are absolutely indispensable to me.

      I deal with a huge number of different projects at work, for example. I have a workflow that imports the master excel spreadsheet and builds an instantly searchable database of every project, with links to all relevant portals and information. I can just start typing a project name or number (or other relevant info) and instantly jump to the project’s Sharepoint page, my local files directory, emails about that project, the publicly-accessible portal for it, etc etc. I use it constantly every day.

      I also use Alfred to search industry-specific search engines, to draft repetitive emails for me, and to file things away. I have many little conveniences set up, like a workflow that configures various laptop settings based on location (printers, audio devices, volume level, etc).

      Honestly if I had to choose between “Mac OS with no Alfred” and “Windows with Alfred,” I’d stick with Alfred. It’s such a helpful app.

      • By vorpalhex 2025-12-106:132 reply

        Do you have a resource you like for "advanced" Alfred use?

        • By D13Fd 2025-12-1014:44

          No, not that I can think of. The app comes pre-loaded with a bunch of templates you can insert. I mostly just started from the templates and substituted my own perl or python scripts for things.

    • By burnto 2025-12-1012:40

      Quicksilver was a revelation. I use Raycast now and Alfred is great too.

      I don’t use spaces or Mission Control or tiling. But I’ve been using macs since the late 80s and most of that stuff just seems superfluous. The fast global extensible subject-verb-object command shortcut is the only UI innovation that really changed my workflow since system 7 multitasking and osx having a cli.

    • By chamomeal 2025-12-103:18

      I am not a serious computer power user but raycast (also cmd + space + couple letters), cmd + tab, and cmd + ‘ get me around quick enough!

    • By seg6 2025-12-103:191 reply

      I love and do the same thing with Raycast! But mostly with apps that do not have a designated "workspace".

      Most of the time, I only have Spotify, chat clients, my browser, and the terminal open. And I do prefer every one of them just having a fixed place behind a shortcut, which at this point is just muscle memory.

      • By brcmthrowaway 2025-12-103:251 reply

        So you have a workspace for each of those? Do they persist after reboot?

        Do you use iTerm2 or Terminal.app, and tmux?

        • By seg6 2025-12-103:29

          Yes, exactly, a workspace for each one of those. A snippet from my Aerospace config:

            [[on-window-detected]]
            if.app-id = 'com.microsoft.teams2'
            run = 'move-node-to-workspace 7'
            
            [[on-window-detected]]
            if.app-id = 'com.hnc.Discord'
            run = 'move-node-to-workspace 8'
            
            [[on-window-detected]]
            if.app-id = 'com.spotify.client'
            run = 'move-node-to-workspace 9'
          
          They're 'persisted' in the sense that when I open them, they automatically open in their relevant workspace. You can also make them auto-start, so when your system boots up, they'll be in the right place.

    • By cosmic_cheese 2025-12-103:201 reply

      I also used to use Quicksilver back in the day. Now it's a mix of Alfred and Spotlight. Alfred for launching things and workflows, Spotlight for things like quick unit conversions and such. Alfred is bound to Cmd-Space while Spotlight is Cmd-Shift-Space.

      • By daveidol 2025-12-103:391 reply

        I’ve been using Alfred for forever, but with the new Spotlight on Tahoe I’ve decided to just try using Spotlight alone.

        So far I’ve been pretty happy with it. But I was never a heavy user of the Alfred power features (despite owning a lifetime license for Powerpack).

        • By mbirth 2025-12-1012:26

          Same here. Despite Legendary status, I’ve used Alfred as a souped-up launcher and implemented my workflows app-agnostic either as a shell script, a Shortcut, or an AppleScript. I haven’t launched Alfred since upgrading to Tahoe.

          Especially since you can now create Shortcuts that get input directly from Spotlight or the active window.

    • By AppleBananaPie 2025-12-103:19

      +1 for Alfred

      I personally use a tiling window manager when I feel like it but also get how it's personal preference :)

  • By slurrpurr 2025-12-103:067 reply

    All of this "getting productive" with window managers, especially in the context of macOS is just yakshaving and, unless you enjoy doing it a waste of time. The point of macOS is to have a system with tasteful defaults.

    • By cosmic_cheese 2025-12-103:24

      It's one of the reasons I still get my work done with macOS, despite some of the more questionable decisions it's been subject to lately. Despite it all, the defaults are by far closest to what works for me. In less than 30m I can go from a clean install to doing work.

      It's also why I have a difficult time with Linux. Even the environments that are closest relatives to macOS are still quite distant, and so I end up getting sucked down a black hole trying to tweak my way closer to parity, which of course never works out. Linux only works for me for single-purpose machines where the desktop environment basically doesn't factor in.

    • By seg6 2025-12-103:231 reply

      "Getting productive" wasn't really my goal when configuring my system. I spend a lot of time in front of the computer and simply prefer using it this way because it feels natural. But, of course, you're entitled to your opinion :)

      • By slurrpurr 2025-12-107:57

        Well then even better - if you have fun, perfect

    • By Hammershaft 2025-12-103:49

      I really don't find the macOS windowing or application handling defaults to be tasteful or competently designed.

      In order for me to work using macOS without constantly bemoaning what feel like obvious shortcomings I need aerospace and quite a few scripts.

    • By leidenfrost 2025-12-103:202 reply

      I have macOS shortcuts hot branded in my brain.

      I'd prefer to adopt a few of these programs than having to configure i3 and use ctrl for everything

      • By nixpulvis 2025-12-103:35

        i3/sway are so much snappier and simpler. I spend basically no time rearranging things with them and I don't have to do awkward drag and drop operations to get things where I want them.

      • By jheriko 2025-12-103:47

        [dead]

    • By sleepybrett 2025-12-103:19

      I just use phoenix with some special hotkeys to move windows into positions and tile them. Macos has recently added some 'tiling' controls in, but they aren't as flexible. I wrote this phoenix config at least 10 years ago and I just keep it in my dropbox to copy onto the latest work laptop. So while it is 'yak shaving' it's a yak i shaved 10 years ago, amortized over the lifetime i've been using it I would guess it's costing me under a tenth of a second per day at this point.

    • By nixpulvis 2025-12-103:331 reply

      It's been a long time since Apple was really the home for sane defaults for me.

      An easy example is how the workspaces rearrange themselves be mort recent use, and worse on iOS there's some seemingly random time interval at which they move themselves after use.

      • By dzhiurgis 2025-12-1020:141 reply

        I keep wondering why they are not doing a "pro" edition of macOS. Especially focused on creatives vs developers. Already the case with hardware.

        • By decryption 2025-12-113:56

          This is what I am hoping Apple does with iOS and the Mac. iOS becomes the mainstream operating sytem and Mac is the "pro" operating system.

    • By eviks 2025-12-105:331 reply

      And since they don't have tasteful defaults, what's your nonyakshaving way out?

      • By slurrpurr 2025-12-107:561 reply

        That is a manner of personal taste. For me, the standard setup is good enough (TM).

        • By eviks 2025-12-108:031 reply

          Ok, but presumably macos isn't made just for you, so your comment was also not just about yourself???

          • By slurrpurr 2025-12-1013:531 reply

            Yeah, macos works fine for most people. The silent majority just does their work and gets on with their day.

            Also, no need to become aggressive :)

            • By eviks 2025-12-1015:12

              Most people face most of these issues every day and suffer from them. Some do that silently, some don't even realize there is a better way, some even go so far as to project their ignorance onto everyone and dismiss improvements as a waste, making up silent majorities supposedly agreeing with them along the way.

HackerNews