"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 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.
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).
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 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 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.
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.
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.
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.
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.
"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 :)
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.
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.
> 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.
One can make Spaces deterministic by turning off Automatically rearrange Spaces. Add keyboard shortcuts for quick access to each. On multi-display setups, you can have the whole group of displays work in lock-step on a project by turning off Displays have separate Spaces. These are the first two things I uncheck on a new system. Each Space can be dedicated to different projects using any number of apps instead of trying to correlate Spaces with specific apps. (Sadly, you can only have up to 16 Spaces.)
Side plug, I have a utility that lets you associate names with each Space: https://github.com/hyperjeff/NameSpace (Apple should’ve made naming Spaces standard, but no.)
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.
> 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])
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
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.
>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.
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.
> 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.
That's basically why I stopped using them altogether. I'm using COSMIC DE now on my Linux systems, and while it also has animations, it doesn't look nearly as bad as MacOS.
On MacOS I resorted to tiling and alt-tabbing my way through because of the delays. I don't want to wait for the window system to draw pointless animations, but I can't disable them.
And then in Sequoia they implemented primitive tiling too and of course decided they HAD to add a non-configurable, impossible to disable resizing delay on tiling which nearly brought me to install a VM and use the MacBook as a glorified VM host (before Sequoia it used to be instant).
You Cmd-Tab, release Tab but keep holding Cmd, and type the name or shortcut of the window. No preconfiguration necessary, it becomes automatic to just tell it what you want.
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.
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)
If you have that many windows open within one work session, I pity you.
Joking aside, I actually solve this problem with my Tmux setup by using fuzzy search. I usually have 2-3 Tmux sessions where each one is a different project. The way I switch between them is by fuzzy finding.
I press a key, a pop-up appears, and after typing in three letters related to the project title, I'm already where I want to be.
I can imagine a similar solution where an application launcher can help you fuzzy find your way to a specific window based on the window's title. If the window doesn't include a project-specific title, then I'm out of ideas :)
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ù".
I love Shortcat but it's too slow to be usable on my i5-based MacBook Pro. I have been using Wooshy instead, but I'll be checking out mouseless after seeing it mentioned here.
GolDDranks|2 months ago
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.
daveidol|2 months ago
seg6|2 months ago
mathstuf|2 months ago
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).
vardump|2 months ago
mos87|2 months ago
wahnfrieden|2 months ago
tptacek|2 months ago
blacksmith_tb|2 months ago
D13Fd|2 months ago
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.
burnto|2 months ago
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.
chamomeal|2 months ago
seg6|2 months ago
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.
cosmic_cheese|2 months ago
AppleBananaPie|2 months ago
I personally use a tiling window manager when I feel like it but also get how it's personal preference :)
slurrpurr|2 months ago
cosmic_cheese|2 months ago
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.
seg6|2 months ago
Hammershaft|2 months ago
In order for me to work using macOS without constantly bemoaning what feel like obvious shortcomings I need aerospace and quite a few scripts.
leidenfrost|2 months ago
I'd prefer to adopt a few of these programs than having to configure i3 and use ctrl for everything
sleepybrett|2 months ago
nixpulvis|2 months ago
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.
eviks|2 months ago
accrual|2 months ago
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.
hyperjeff|2 months ago
Side plug, I have a utility that lets you associate names with each Space: https://github.com/hyperjeff/NameSpace (Apple should’ve made naming Spaces standard, but no.)
sleepybrett|2 months ago
But myself I just use quicksilver with a lot of features turned off.
mrgoldenbrown|2 months ago
nomilk|2 months ago
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/
eviks|2 months ago
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
wonger_|2 months ago
johnthedebs|2 months ago
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.
stackghost|2 months ago
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.
seg6|2 months ago
mattegan|2 months ago
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.
seg6|2 months ago
plqbfbv|2 months ago
That's basically why I stopped using them altogether. I'm using COSMIC DE now on my Linux systems, and while it also has animations, it doesn't look nearly as bad as MacOS.
On MacOS I resorted to tiling and alt-tabbing my way through because of the delays. I don't want to wait for the window system to draw pointless animations, but I can't disable them.
And then in Sequoia they implemented primitive tiling too and of course decided they HAD to add a non-configurable, impossible to disable resizing delay on tiling which nearly brought me to install a VM and use the MacBook as a glorified VM host (before Sequoia it used to be instant).
Hammershaft|2 months ago
tga|2 months ago
You Cmd-Tab, release Tab but keep holding Cmd, and type the name or shortcut of the window. No preconfiguration necessary, it becomes automatic to just tell it what you want.
bix6|2 months ago
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.
Hammershaft|2 months ago
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.
smileson2|2 months ago
vorpalhex|2 months ago
namanyayg|2 months ago
eviks|2 months ago
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)
treetalker|2 months ago
https://manytricks.com/witch/
Among other features that might solve your problem, it lets you use your keyboard to filter by window title.
fainpul|2 months ago
ctrl + downarrow (customize in Keyboard Shortcuts -> Mission Control -> "Application windows")
smitelli|2 months ago
unknown|2 months ago
[deleted]
eviks|2 months ago
What's your solution to finding one of 10 widows within an app?
seg6|2 months ago
Joking aside, I actually solve this problem with my Tmux setup by using fuzzy search. I usually have 2-3 Tmux sessions where each one is a different project. The way I switch between them is by fuzzy finding.
I press a key, a pop-up appears, and after typing in three letters related to the project title, I'm already where I want to be.
I can imagine a similar solution where an application launcher can help you fuzzy find your way to a specific window based on the window's title. If the window doesn't include a project-specific title, then I'm out of ideas :)
mathstuf|2 months ago
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ù".
treetalker|2 months ago
bobchadwick|2 months ago
abuabara|2 months ago
seg6|2 months ago
jheriko|2 months ago
[deleted]