Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Making macOS Bearable (seg6.space)
51 points by seg6 8 hours ago | hide | past | favorite | 66 comments




"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.


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.

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.

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.

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

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


> difficult to drag and drop

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


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.

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

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

Not everyone uses a laptop as their desktop too.

Especially with all gestures enabled and used

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.

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.


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


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

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

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.

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


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.


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

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


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.

+1 for Alfred

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


> Of course, I still use the mouse. I’m not a zealot.

Just wanted to add a fun anecdote. I had a coworker who seemed allergic to the keyboard. Bound almost every job function to a mouse macro. I joked that I'd come to work one day and all they'd have is a monitor and mouse on their desk, nothing else. They laughed but I got the feeling they'd do it if they could.


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.

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.


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.


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


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.

"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 :)

Well then even better - if you have fun, perfect

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

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

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

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.


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.

> Bypassing the Mouse.. I use Vimium in the browser.

Vimium seems great for navigation.

Is there any way to get vim keybindings inside text boxes? (I looked at 'wasavi' chrome extension which hasn't been updated in 8 years [0] and the website's down [1])

[0] https://github.com/akahuku/wasavi

[1] http://appsweets.net/wasavi/


You could use real vim in there with ghosttext, but it's not a native integration, you'd have a separate editor window

Another upside is (if your editor is properly setup to not lose data) that a page crash will never lose your precious long carefully crafted comment since it will persist in the editor


After a miserable 30 min tussling with python dependencies, finally got it working. But it's very cool! Thank you. This message sent from neovim! :)

I've heard of https://github.com/glacambre/firenvim but I've also heard you might run into issues clashing with browser keybinds

Thanks for sharing your process and config! I went on a pretty similar journey, though I've been on macOS the whole time. I've gotta say, Aerospace is one of my favorite pieces of software. It really makes it so much less tedious to move around my computer.

I tried vimium and homerow too, and I liked them, but lately I've been using mouseless more (https://mouseless.click) and overall would recommend it.


Aerospace looks neat - might have to give it a try.

However, honestly, 99% of my multitasking pain on MacOS comes from the un-removable ~300ms animation delay when switching spaces. "Reduced Motion" changes the animation to a fade and doesn't solve the problem.

If I could instantaneously switch between virtual desktops I'd be so happy. I've wanted this for years.


Aerospace is what you need! The exact reason I decided on sticking with it.

Aerospace solves this, and many other design problems with Mac OS windowing.

Why do you need aerospace?

I have browsers on desktop 1, music on 5, etc. I can jump to each numbered desktop with key binds. What am I missing?

Same with raycast, is that just a command space replacement?

Command tab / shift tab are huge favs for me when I’m cycling 2-3 apps.

Vimium looks cool gonna try that out.


I don't need aerospace but I find Mac windowing to have a lot of cumbersome design shortcomings.

Long animations between spaces, fullscreen creating a new window at the end of the list (??), slow processes to tile windows and efficiently use space, a lot of shortcomings with multi monitor setups, lots of dragging via touchpad to move and size windows across spaces.


> The "Where's Waldo" Problem

What's your solution to finding one of 10 widows within an app?


As someone who probably has a similar setup on Linux to the author: why do you have 10 windows for an app open?

For me, grouping by app is terrible. Yes, they may all be "Terminal" or "Firefox" windows, but they are for very different things. I'd rather see things grouped by project regardless of "app". But that is what tagging window managers are for :) .

Given that macOS forces that (IMO) braindead tunnel vision paradigm, I think the response should be "Wù".


> why do you have 10 windows for an app open?

For example, because the app restores its state and you have a few "projects" within the app.

> I'd rather see things grouped by project

Ok, and what if that project is encapsulated in an app window? Why introduce an extra level of indirection for no reason and spend time configuring it? If you frequently need a set of "5 firefox tabs, 2 terminal tabs, 4 text editor tabs, each in a separate app window", sure, spend time tagging it, set it as a WM project and launch/activate it with a key, but not everything is like that.


If you have projects that fit within an app, sure. I do not. The only "apps" seen on my machines are terminal windows hosting tmux processes and Firefox. Everything else is ephemeral (mpv, dialogs, rofi, dunst). App-centric behavior is just the wrong axis for this setup.

I'm saying that given what details are there, I think the author is closer to "my" end of the spectrum than one where the question makes sense at all.


> I do not

Ok, how does that address my initial question (which was not about you) then? Not everyone's setup is so primitive as to only be centered around two apps

Though in this case I don't get what is so terrible about app groups if you don't group anything else anyway since it's ephemereal, so wouldn't any grouping work (except for 2 apps)?


It's so silly and simple but when I use a mac the only thing I really want that's missing is the ability to have a dock on on each monitor when docked

Make sure dock is on the bottom, right click, "show on each display".

What's the best way to move between multiple windows of the same app? E.g. I have multiple Cursor folders open on different folders.

The following two ways should cover everything:

1) (can be visual) you can setup cmd-tab to move between apps and alt-tab to move between one windows within an app (for example with alt-tab app)

2) (non-visual) with your window management prefix key setup two left/right cursor pairs like "JK" and "M," and use one to switch apps and the other to switch windows within an app (or maybe JL and IK in the inverted T cursor unless you're using up/down for something else)


Take a look at Witch by Many Tricks:

https://manytricks.com/witch/

Among other features that might solve your problem, it lets you use your keyboard to filter by window title.


You mean something other than ⌘+` ?

If you're interested in Homerow, check out Shortcat (free).

There is a mission control swipe for 'just show me the focused apps windows' coupled with command-tab this solves his problem.

But myself I just use quicksilver with a lot of features turned off.


The goal is to be able to switch to a specific window without needing to see the screen. If his setup means cmd+1 takes him to the terminal every time, it's easier than cmd-tabbing through all n windows. Think of it as the difference between constant time and linear time.

would you share your dot moon wallpaper? :)


thank you!

Amazing post. I share the same motion sickness and also don’t have the Linux option in the work. I preferred the virtual desktop/spaces in a 2x2 layout, which was more natural to use.


>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.

What happens when some app (like, say, the browser) binds Cmd+<number>? If I hit Cmd+2 right now it'd switch me to the second tab in firefox. Seems like a pain to have to rebind everything.


I've solved this (on Arc) by simply binding Prev/Next tab shortcuts to CMD+Shift+j/k, and have been pretty happy with it.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: