Having used Linux Pop OS for many years, I've grown accustomed to the intuitive and powerful tiling window manager and keyboard navigation shortcuts it offers. I'm struggling to find a comparable solution on the macOS platform.
Having used Linux Pop OS for many years, I've grown accustomed to the intuitive and powerful tiling window manager and keyboard navigation shortcuts it offers. I'm struggling to find a comparable solution on the macOS platform.
That doesn’t mean adopting everything or abandoning everything, just try to be flexible and try some different things out. Just because it is different doesn’t mean it is broken.
For window management there are dozens (at least) third party tools that add features like snap window. Try some out to see what you like. Rectangle, Magnet, Moom, BetterSnapTool come to mind but here are others.
(it's not Apple's strong suit, but there is an app for tha™)
For example, AFAIK, there's no way to eliminate the animation that's triggered when switching spaces/virtual desktops.
(also, afaik https://github.com/koekeishiya/yabai allows you to eliminate the animation completely)
On macOS the thing that drives me insane is that the many-finger swipe to switch desktops won’t focus the target window until the animation is totally done (like 0.7s after starting). I wish it works like cmd+tab which changes focus instantly. Apart from that I guess I’m not that bothered because I mostly just full screen things. Emacs and iterm2 can do their own tiling of windows.
The only disadvantage is that there is no way to "peek" the previous desktop like you can with the built in swipes.
In later versions they added keyboard access, but it still feels like it was done as a bare-minimum concession and not originally planned.
In KDE it's pretty much a joke every time I have to save-as. Can't even get through that filesystem menu without a mouse unless it supports <ctrl>-l. Dolphin is slightly better, especially if you enable the console pane to make it easier to switch to the command line, but it's still way behind Apple's finder from 1999.
How do you open the menus and browse through them to find and select the option you want?
I think you would be surprised at just how powerful the keyboard subsystem in osx is and how malleable it is with some programs or even just editing the plist shortcuts. every menu item in any application can be given a per app or universal shortcut in `system preferences | keyboard | shortcuts | app shortcuts`
You can also use a thing like hammerspoon to do whatever you can imagine basically too... i have a few things for window manipulations via hammerspoon.
You can set up very complex keyboard re-mappings/shortcuts using something like karabiner elements.
you can also change the keyboard access to be navigable via tab in keyboard settings too.
and you can access the menu via ctrl-f2 by default. those settings are changeable too via the keyboard preference pane.
i think you'd be surprised at how much apple cares about accessibility so keyboard nav is not just a power user thing.
At the end of the day I think apple put a lot of thought into the UI and i'd feel pretty stymied going back to windows.(though now the power utilities finally let you remap the windows key to something more useful like ctrl.
Even with the awesomeness of Karabiner Elements there are some unfortunate limitations
But yeah, I'd be surprised if it were a powerful system, that's so rare in the keyboard land...
Also, how is it user friendly to require users to retype the full menu taxonomy???
no clue, I don't use automator, but from what I understand of applescript and automator this should be completely possible. For what it's worth I use Hammerspoon like the other commentor and it's by far the best system I've seen for any OS. Also the more people that use it the better it gets so I highly recommend it.
>Also, how is it user friendly to require users to retype the full menu taxonomy???
I mean... you're able to change any arbitrary menu item in any program that exists. That's extremely powerful. I don't really know how you would make it make it any more user friendly.
> any arbitrary menu item in any program that exists
That's false
> I don't really know how you would make it make it any more user friendly.
Just read my comment, it tells you exactly how to make it user friendly. And it's easy to come up with a few more ideas
In what way?
> Just read my comment, it tells you exactly how to make it user friendly.
I’ve reread all of your comments in this thread and find no such thing.
there's also applescript that can do a lot of other things too. I dislike the language but it's fairly powerful too.
[0] http://www.hammerspoon.org/docs/hs.application.html#getMenuI...
By the way, what would I do with this menu info, is there another function to permanently rebind a given menu item?
I was just pointing a few fundamental flaws in this "surprisingly powerful" system
Also, this brings confusion between the key shown in the menu and the key that is used to activate it, is the Mac ecosystem powerful enough to fix this little usability snag?
It is kind of evolution, just for computers.
Macs early developed good pointing devices and as a result many keyboard related aspects can afford to be somewhere between weird and crazy.
Bonus for Mac people insisting everything is fine.
And I still consider getting a MacBook Pro next month, Windows PCs are that bad even with WSL :-/
Edit: at least these days, fn and ctrl can finally be remapped and CMD-tab can be fixed so it works consistently between two Firefox (or two Safari) windows, an IDE and Finder. It used to be that I would have to CMD-tab to the Firefox group, then CMD-| to get to the correct browser window and it was one of the things that truly messed up my workdays the last time I used Mac back in 2012. (No dedicated home/end buttons and every app seemingly being free to choose what shortcut they would use for it was probably the most painful one though.)
I have keyboard shortcuts well in muscle memory now for left/right third/half/two-thirds, and all four corners at a quarter of screen, and full screen. I find that meets 90% of my needs.
Left/right two-thirds is my go-to when coding on 14”. VSCode on the left, Safari on the right. Both big enough to work well, but both leave enough of the other visible to be useful.
Nice little app, costs some reasonable amount of money as a one-off purchase.
But you can get very far to an automated tiling WM and keyboard navigation even without disabling SIP.
It's one of the first things I always need. It started coming from Linux with a similar experience to you.
----
A big shortcut for me is cmd+shift+/
It allows searching on all submenus. So when I'm working on an IDE for example, it's how I find those obscure options I know are there but I don't use frequently enough to remember the shortcut.
I am quite frequently on MacOS, and I use Yabai[0] and skhd[1], managed with Nix-Darwin[2] for tiling windows and custom keyboard shortcuts. With how I make my Linux and MacOS builds look and feel identical it's pretty easy for me to forget when I'm on one vs the other.
For anyone curious, here's my repository for deploying my configs[3]. It's awesome to have one source of truth for managing NixOS servers and workstations, MacOS workstations, and other Linux workstations with Nix installed.
[0] https://github.com/koekeishiya/yabai
[1] https://github.com/koekeishiya/skhd
Otherwise go with whats been suggested by others
For almost everything else there's a standardized system-wide shortcut (including the ancient ones like Ctrl+a/e for text).
If there isn't a shortcut, but the app exposes the action in a menu, you can assign a custom shortcut from keyboard settings.
MacOS has traditionally been very friendly to keyboard navigation. Well, until somewhat recently when mobile-only/mobile-first devs started just slapping Catalyst on and calling it a day. Even Apple's own apps suffer from this.
The standardized menu system is underrated, IMO.
Setting aside preferences for the menubar being global vs. being attached to app windows, the fact that it's system-owned makes features like this possible. Apple was able to implement custom keybinds for menu items in arbitrary apps because they know that 99.9% of apps use the system menubar. This would be next to impossible on Windows where menubar implementations are disparate and numerous (even within first party apps), and while something similar could be patched together on Linux, it'd only work on some (mostly Qt) apps since GTK has mostly abandoned menus altogether.
This also enables the menu search in macOS Help menus to work, which is underused despite being basically a command palette for every app.
But then you can mostly get by with a finder alternative