Everything just makes sense logically and mnemonically like using shift to invert actions like cmd+z and cmd+shift+z rather than having ctrl+z and ctrl+y for undo/redo.
Then add to this the ability to rebind any shortcuts in any app at an OS level. It's a little frustrating because I'm trying to move my computing away from Apple because I'm no longer convinced they care about Macs in the long term but just really wish either Microsoft would have the guts to throw a lot of their legacy out and fix all this stuff or that there were some way to actually achieve this level of coherence across the whole system on Linux.
I agree with your other points (including easier customizability), but have to completely disagree with this quoted sentence.
In my experience of using macOS/OS X/Mac OS X as well as Windows and Linux, macOS is one OS where a user cannot avoid using the mouse or trackpad!
On Windows (and mostly in Linux too), I can navigate the entire system, application menus and UI controls without touching the mouse or trackpad, relying only on the keyboard. The same on a Mac would be frustrating because keyboard navigation, especially for menus, is cumbersome. There are many Apple apps that cannot be completely controlled just using the keyboard either. There are many UI controls (including in dialogs) that just need a mouse or keyboard. When I find these instances, for me it's like death by a thousand paper cuts (note: I do have preferences set to navigate through all controls when hitting Tab).
If you disagree with my assessment, please try this using only the keyboard (no mouse or trackpad) and see how cumbersome it is (not to mention inconsistent in certain ways with the rest of the system too):
* Open System Preferences
* Open the Keyboard settings (just an example)
* Navigate from one tab to another within the settings
Of course, I'd like to know how something like this can be done faster using the keyboard.
It's also far more discoverable --- if you press Alt, accidentally or otherwise, the menu highlights and you can immediately use the arrow keys to navigate it. The underlined letters (sadly missing by default in later Windows versions) also make things more obvious.
There's also this oddity:
In just about every other graphical file explorer I've ever used, including the DOS ones, Enter opens the selected item. In the Mac Finder, it's Command-O. Yes, I get the fact that it's mnemonic with the others in that list, but it's completely contrary to the customary and rapidly learned behaviour of navigating using the arrow keys and Enter ---which is located very close to the arrow keys, and requires only one hand to operate easily.
Command-? (command shift /) opens the help menu with fast incremental search through all menubar items, showing you the shortcut of what you're interested in, and also allowing you to tap return to substitute the shortcut.
Personally, if I were designing it, I wouldn't have exposed it as a separate bar in the Help menu of the app; but rather just made it an API provider to the OS (sort of like how drag-and-drop data sources work), such that the OS search (Spotlight) could be made a "universal" search, capable of searching both the OS generally, and the currently-focused application specifically.
While I'm dreaming, imagine if you could go into Mission Control and start typing, and it'd highlight/focus the set of windows that "have" the text you're looking for (even if not necessarily scrolled into their viewport.) Like the search you can do in Safari's "tab overview" by pressing Cmd+F there, but across all windows of all apps. Once you've narrowed it down to one window, press Enter and that window will pop to the foreground—perhaps with that text pre-selected as if you had done a Cmd+F search within the app.
Or, something even less likely to happen: imagine if you could move your mouse by searching across the corpus of text visibly on-screen (presumably via interaction with the OS text-rendering layer), such that you could jump the cursor to a specific button; or even to the checkbox with a specific label.
It's discovered when someone clicks on the "Help" menu at the top of every single screen. How much more discoverable can it be without resorting to Clippy-style intrusions?
No way to know that pressing Alt shows keyboard shortcuts on windows either.
It's a killer combination, allowing you to run menu items with merely a vague notion of their name rather than a memorized jumble of modifier keys.
It's also far more convenient than Ctrl-F2 to move the mouse focus to the menu bar.
Every macOS app has a search field in the Help menu where you can instantly look up any menu item, and it’s a built-in feature of macOS, way ahead of Windows.
Disclaimer: I worked on this feature.
It was one of the biggest wow factors of macOS for me when I first started using it about 10 years ago, and it still keeps saving me a lot of time.
(and I would love to see how that is done - how the menus and their contents, were implemented to make them searchable!)
Here's to 2 more billion upvotes :-)
I’d give you a billion upvotes if I could :)
It lets you see if an app has a feature that you’re sure it must have, but don’t know exactly what it could be called or where it might be.
For example, in Xcode I just need to search “up” to see commands for moving a block up text up.
Or “blur” to see the different kinds of blur an image editor has.
> Contrast that with a menu
You misunderstood. It shows the menus which have items matching your search, in place.
typed "undo close" on that search box. Nothing. clicked on the "tab" menu. still nothing. finally going back to the search box and typing "tab" it shows up as "reopen closed tab" and show me that it is in the "file" menu.
Weird application choices aside, Wonder why apple don't make that a central keyboard first command box like emacs or most code IDEs do. I mean, i don't even know how to go to that help search box without a mouse.
1. `cmd - shift - /` to jump to Help (works in any app)
2. type `tab` ["Hmm, I don't know exact shortcut to <undo close tab>, so let me start with something generic..."]
3. search through results with ctrl-n or ctrl-p.
4. As you search, different menu items show you the shortcut
And voila, your `cmd - shift - t` is the second result under "reopen closed tab"
EDIT: formatting bullets
Also, ever since non-spatial navigation became a thing in macOS, Cmd+[ and Cmd+] have become back/forward through navigation history in all contexts where there is such a thing as a navigation history. Works in Safari, Finder, System Preferences, all the iTunes-diaspora apps...
You can still run the Finder in mostly spatial by hiding the toolbar and sidebar. I prefer it that way. Then ⌘↑ does exactly what you think.
(Not tested on MacOS BS)
Aside from the fact that other users exposed the CMD+arrow shortcuts, Finder's shortcuts are also consistent with the rest of macOS, where "enter" typically renames the selection (try it with a folder in Notes, for example).
Command-up goes to the parent, command-down goes to the child. You can do the entire thing with arrow keys and command.
Enter should open the application.
Not f#%% edit it's name!
(how often do you want that?? == almost never; versus 'open' == almost always)
1. Cmd-space to get Spotlight, "pref" to match System Preferences (on my machine at least), Enter
2. Search is auto highlighted so type "keyb", down arrow, Enter
3. Tab to focus on tab bar, left/right arrow key to move between tabs (this one is a bit buggy, seems the "Text" tab steals the focus so you have to shift-tab back to the tab bar)
In alfred app (spotlight alternative) you can have fuzzy search so its 3 strokes:
`cmd - space` then `kb` to instantly find Keyboard settings
(spotlight feels a bit slower than alfred for these kinds of searches)
On Windows I need to type a lot more and then navigate a list of wordy descriptions in the hope of finding Disk Management. At least now they’ve added Win-X.
1. cmd-space to open spotlight, type in system pref, hit enter
2. default behavior puts you in search, type in "keyboard", down arrow, enter
3. press tab to highlight top tabs, press left/right arrow to select new tab, press space to select
(requires the setting "Use keyboard navigation to move focus between controls" which can be found in Keyboard -> Shortcuts.)
Can you turn that on without a pointing device?
You can use this global keyboard shortcut to turn on the "Use keyboard navigation to move focus between controls" setting: Control + Fn + F7
Here how to test if it's on or off:
1. Open a new TextEdit doc.
2. Type some random gibberish.
3. Attempt to save the doc.
4. Hit "Tab" and see if anything happens. If the "Use keyboard navigation to move focus between controls" setting is off, nothing will happen.
Now, with the "Save" dialog still open....
5. Do the key combo: Control + Fn + F7
6. Hit "Tab" again — this time you should notice you're moving through the different UI elements.
Tab lets you move forward/down through the UI. Tab + Shift lets you move in reverse.
If you have System Preferences > Keyboard > Shortcuts open when you do the key combo, you'll notice the checkbox for "Use keyboard navigation to move focus between controls" toggle from checked to unchecked in realtime :)
On Windows, I am constantly moving my right hand over to the INS/DEL/HOME/END/PGUP/PGDN block, because those keys are essential for really simple tasks like moving the cursor to the beginning of the line. And worse yet, I constantly miss the mark and move the cursor to some other part of the document, and have to find my way back again. I find it extremely frustrating.
On a Mac, I can ctrl-a to move to the beginning of a line, ctrl-e to move to the end. Nearly anywhere. Losing that convenience is super frustrating.
If anyone knows how to turn that 'feature' off and get headline back, I'd love to know
Additionally, you can configure Linux to handle system wide emacs shortcuts as well.
I use dwm without a DE, so I remap mine manually using xmodmap. I use caps lock as an additional modifier key so I can put these types of shortcuts under the same modifier so it doesn't conflict with control and rebound actual caps lock (which I rarely use) to shift + caps lock.
Most IDEs that work on Mac OS can and will use the home/end/etc keys if you plug in a real keyboard, with the notable exception of ... XCode.
Are you going to make that argument? Or are you just going to say that you “could”?
The problem with dedicated keys is that I make more errors and it causes more problems with RSI. Ctrl-a and Ctrl-e are easier and more accurate for touch typists, and put less strain on my hands.
In conclusion, it's basically what you're used to :)
The one thing that baffles me is why Apple won't add the shortcuts for full keyboards into the OS by default. It's not like they're unaware of their existence.
Of course, there are Qt apps, which in their faux-crossplatformity ignore what the system does for them, including these bindings.
I was a heavy keyboard shortcut user on Windows – since Windows 3.1 days – which I believed was designed with mouse being an optional user interface device. Microsoft continued to bring ahead many of the keyboard shortcuts with Win95, XP and beyond.
When I switched to Mac, I was surprised to find how limited Mac keyboard shortcuts are, even till this day. For instance, on Windows one can resize windows with keyboard alone, but not possible, as far as I'm aware, on a Mac.
Not only is it lacking, Apple has also been dropping support for some keyboard shortcuts as well, e.g. you used to be able to put a Mac to sleep with Option+Command+Eject, with the latest TouchID MacBook Pro, Eject button is no longer there and the replacement shortcut with the power button is also not working on TouchID power button.
For sleep, I use ctrl - cmd - q (shown at this submission's link)
Resizing windows with keyboard is indeed the missing piece in macOS. Hence, Magnet* is consistently the top app in App Store (others are Spectacle* or Better Snap tool)
Spectacle is free and i've been using it for years, even if apparently no longer maintained:
Dialogs can be activated by using cmd+the letter of the first action. e.g "File already exists, replace / cancel" cmd+R and cmd+C would work.
This is far superior than tabbing around IMHO, but you can do that too, it's an option in settings.
>Of course, I'd like to know how something like this can be done faster using the keyboard.
- sys <return>
- keyb <down> <return>
then left and right arrows to choose which tab you want
I think this request is a poor workflow example for keyboard shortcuts. Better examples would be workflows that are a chain of repetitive actions in a sequence.
Also, personally instead of Spotlight I prefer Alfred, which can replace many shortcuts with commands, which are way more ‘mnemonic’. E.g. locking the screen is ‘scr’ in Alfred for me, which pops up ‘Screen saver’ as the suggestion.
At least on Windows, this is for historical reasons: back in the late 80s and early 90s, when the Windows interface was originally designed, having a mouse (or any other pointing device) was optional. Windows had to be fully usable on computers which came only with a keyboard. (There were a couple of exceptions, IIRC the Paintbrush application which came with Windows required a mouse, for understandable reasons.)
2. type keyboard
3. press enter
4. click tab until you're on the tab bar, then click right arrow to the tab you want
Also for anyone trying to turn on all-element keyboard navigation, you'll probably need to use ctrl-fn-f7.
I found this to be straightforward:
1. cmd-space to open Spotlight, type "syste" and it offers System Preferences, hit return
2. Focus is in its search field. Type "keyboard", then down arrow + return to open Keyboard Prefs.
3. Hit tab to move keyboard focus to the tab bar
4. Use arrow keys to move keyboard focus between different tabs, and space or return to select one
Do you have keyboard navigation set to “All controls?” That’s the key and the first thing I do on any new Mac.
In other words, there are fewer things you can do with the keyboard, but it's easier to figure out which keys do them.
Summon spotlight to open System Preferences
Tab to search
Search for your keyboard Settings
I get it's not the Windows dynamic (and having just had to spin up a few test server 2008 VMs on vmware today for a specific test, I do appreciate what Windows offers), but it's quite doable. I actually didn't even know how to do it before writing this as I've been used to Windows due to work, but using normal keyboard navigation tools (tab), it was fast to get to what I wanted.
But working in the pane once you're there? You've got me, I don't know how to do that without a mouse.
In my heyday - I fucking impressed people who watched me navigate through either windows or linux with just the keyboard.
I fucking built a ton of AWS infra with just the keyboard - and that included using their UI as welll as AWSCLI
I am fond of those memories.
after years of frustration, i finally found that "Move focus to active or next window" is the analogue functionality in macos keyboard shortcuts, and it's now mapped to the slightly-less-awkward alt-cmd-tab, from the very awkward ^F4. it's not quite the same in keeping the stack order however (in some nebulous way i haven't really determined yet).
It is simple: purchase a trackball.
- You can make all those system dialogs navigable (to use tab and spacebar to execute buttons) by enabling: System Preferences > Keyboard > Shortcuts > "Use keyboard navigation to move focus between controls".
It can take years to learn everything that macOS secretly offers, but no more than it took me to be at that level on Windows, or any Linux DE. I agree though, multiple Linux DEs seem superior to both macOS and Windows with their out-of-the-box hotkey ability. For everything else, there's Mastercard, uh, AutoKey.
Since old MacOS had cooperative multitasking if an app started some task that never offered control back to the OS it monopolized the system. Many (but not all) apps used the Command + . shortcut to cancel those sorts of tasks.
Although I see this is no longer displayed in the system preferences area you mention, but just tested and it still works on 10.15.6. Wonder if this is the first step in that keyboard shortcut's removal due to the touch bar.
I suspect there will be a comment that tells me how to do this with a keyboard?
not a linux user: why do you need to hold a modifier to resize a window?
It's dangerous though, one of my biggest fears is getting a job that won't let me use Linux.
I'm asking because it's been a long time since I encountered an application which didn't tile nicely / didn't work well with i3[^]. Besides, you can always make a window float in i3.
[^] With the exception of the Android emulator but that thing is a monster for a whole bunch of reasons.
I think literally the only things I have that don't tile are some of my Ludum Dare games because it's a 48 hour game jam so I don't have time to make them handle resizing or anything other than windowed 720p.
Oh, and native Terraria 1.4 (Proton Terraria 1.4 tiles just fine though).
Also you can use it to get middle click on a MacBook trackpad and to completely customize the touchbar in quite complex ways (doesn't even require disabling SIP to do that).
It would be nice if a third-party tool wasn't required, but I think it's worth the cost (and if you owned BetterSnapTool in the past, it actually costs nothing extra to upgrade the license).
I understand it needs to be doing some things in the background, but on the other hand, Hammerspoon and Karabiner don’t use much cpu usage.
I could be doing it wrong. Not knowing how to better manage apps, cpu usage, and so on
Actually, I frequently had Slack and Mailplane open in the "split pane full screen" mode on my 27" monitor at work back when going into the office was a thing, so it's not just a laptop thing, either.
The Windows "maximize" functionality is something I almost never use, on any platform.
You can also switch with Command+Tab and once you hover over the application you want, you can press Command+Down Arrow (or Up Arrow or even Key 1) and that will show you all windows within that application (the same as Control+Down Arrow). Notice that each window has a title and you can press the initial letter and that window will get focus. You can then press Enter to select it.
In this specific use case, I found all the little differences between Windows and MacOS window switching to end up adding together in Window's favor fairly significantly.
First, select the application that you want to use now. All windows from that application, across all monitors are now brought to the front. Then, you switch to the window you want to use. Most of these windows have no clear way of communicating to the user that it is active, so you have to look at each of the available windows to see if it's active or not.
Let's say that I have a monitor with three terminal windows on. I don't want to close them or minimize them, as I will need them again shortly. Now, I want to open a browser window above those three terminal windows, so I open it. Now, I want to move a single one of those terminal windows on top of the browser window, while keeping the other two below the browser window. Nope, not possible. On Mac, I have to use the mouse to pick the right terminal window to achieve this.
It probably just depends on your particular workflows whether the good outweighs the bad or the other way around.
My main point is that a window is a window. The app to which that window belongs means essentially nothing to me, I don't think there needs to be a separate hot-key for cycling windows-per-application, I do not find it to be a usefull organizational tool for switching between windows. I am aware of ctrl+tab but that seems to be a generally accepted program-level control not something from the operating system level.
MacOS's cmd+tab visualization has a slight delay before appearing. This seems to be intentional and provides a nice experience when you know for certain that the selected window of the previously selected application is what you want to switch to; quickly tapping cmd+tab switches directly to that window without the visualization. On windows, the alt+tab visualization always renders immediately. I prefer the windows way because frequently the window I want is maybe 2 or 3 back. So I can more quickly locate it visually through the visualization that pops up on alt+tab.
On MacOS, that visualization I just mentioned does not have separate selection for mouse/keyboard in the cmd+tab menu. What this means is that if an errant mouse cursor passes the visualization while you are cmd+tab'ing to some application, the mouse will scramble your selection. On Windows, there are two separate selectors, one for alt+tab (confirmed by releasing alt) and one for mouse selection (standard point + click). MacOS does support both mouse and keyboard but they share the same selection and interfere with eachother. I know this sounds like an unlikely case but I actually find it quite common -- moving the cursor towards the anticipated area of interest in the soon-to-be-focused window while alt+tabbing will frequently pass through the area of the screen where the alt+tab visualization renders.
Why doesn't MacOS have an intuitve way to maximize a window? This drives me insane. It really feels very reasonable to me to want to see the system clock/tray/etc but have a window take up all other available space. This really feels like a fundamental window-control interaction to me and it is not the same as full screen. I do not understand why MacOS does not have this and why it does not seem to bother other people.
That's a Microsoft Windows paradigm, copied by Gnome and KDE. Systems 1-8 and OS 9 had no mechanism for making a window full screen, much like LisaOS and Xerox Star 8010 IS before it and NeXTSTEP/macOS continued this. It's just never been a part of the UI as it doesn't really fit with the desktop metaphor.
Oh, nice! Thanks for this.
They get even the simplest things wrong. Instead of labeling app menu items with a word or abbreviation, they use a freaking symbol that isn’t printed anywhere on the keyboard.
They have more 2-handed / 3+ key shortcuts than any other OS despite lacking the ability to let you control every aspect of the macOS GUI like you can with Windows or most Linux DEs.
It’s laughable to me that anyone thinks it’s a good system and I’d love to see a productivity contest between workers who are experts in their respective OSes. Mac people would lose miserably. There’s no doubt in mind after years of working with and watching Mac users pitiful attempts at doing anything quickly or efficiently.
> They have more 2-handed / 3+ key shortcuts than any other OS despite lacking the ability to let you control every aspect of the macOS GUI like you can with Windows or most Linux DEs.
What are you trying to say here with “every aspect”?
Mac window management is the opposite of tiling window management. Windows is some sort of hybrid with the snap-to functionality. I wouldn’t say that one or the other is more effective or efficient—Mac trackpad gestures for switching between virtual desktops definitely beat alt-tabbing in Windows (although Windows 10 now finally has virtual desktops as well). They’re different workflows that you can’t expect to immediately find familiar. A “productivity contest” would likely show nearly identical results on both operating systems for the kinds of tasks that users do on a daily basis because they’ve already gotten used to doing those tasks. Switching between terminal windows, text editors, and web browsers is pretty fast on both Windows and macOS.
Apple has loads of symbols for their keys. There's the modifier keys ⌘(cmd), ⌃(ctrl), ⌥(alt), ⇧(shift) and ⇪(caps-lock), of which shift and caps-lock are missing on the magic keyboard (in addition to ctrl and alt on the macbook in front of me).
Then there's ⇥(tab), ↩(return), ⌫(delete) and ⎋(escape) to name a few. These can and do all show up in menus and documentation. With all the control they have over their hardware and software you'd think they could do better than linux on their own hardware (super and backspace are wrong, but the rest are correct at least on this macbook).
You cannot control the entirety of macOS with just a keyboard.
Simple example: open the About this Mac window. Now switch away from it with the keyboard. I challenge you to switch back to that window with just the keyboard without installing any third-party software that changes the way that you handle window switching. Same goes for any window that you open from an app that is running in the menu bar.
With better operating systems, I can put focus on and work with any aspect of the GUI. macOS is extremely limited in this area.
They don’t even have an easily discoverable process for hunting through app menus with just the keyboard. On Windows, there is a thing called a keyboard acceleration. It happens when you hit alt plus the underlined letter of a menu item.
This is why users with disabilities, like Stephen Hawking have historically used Windows and not Mac.
Yes, you can. There's an option in System Preferences called "Full Keyboard Access" to enable this.
> They don’t even have an easily discoverable process for hunting through app menus with just the keyboard.
macOS does it better: you can search all the menus with ⌘?.
> This is why users with disabilities, like Stephen Hawking have historically used Windows and not Mac.
Users with disabilities use Macs, I don't know what you're talking about. Macs are generally miles ahead in accessibility. Stephen Hawking was extremely attached to the one synthesizer he used, to the point that a team of engineers went through the effort to port that exact 30-year-old voice: https://www.sfchronicle.com/bayarea/article/The-Silicon-Vall...
Unless you’re suggesting that the OS-provided controls don’t consistently implement the OS-provided shortcuts. That does sounds like a concern, but in the case of Zoom, it still assumes Zoom used the default widgets.
The Zoom interface on Mac seems very unlike a Mac app to me. It has that flat quality you get in Electron apps. It wouldn't be surprised if it was highly bespoke. You can’t even open the preferences with CMD-, which almost every app implements.
I don’t think Zoom is the only app that doesn’t have everything in the menu bar. The point was more general for when things aren’t in the menu bar (and not just electron apps)
Keyboard Maestro or something else may be able to automate it. But still.
Just FYI, they've corrected this since then. I'm not sure but I believe it was 2017. At that time they also removed the "alt" label so it only says "option" along with the symbol.
This is the height of usability?
How's that work for say...a program running in the menubar, like Docker? (If you open the Docker settings window from the menubar, switch away and switch back.) I bet it doesn't.
> start the program again
Case in point. On mac, choosing (through the dock, through Cmd+Tab, through Finder, through Spotlight, through terminal) an already open program has the semantics of giving it focus. On windows, it opens multiple copies. Sometimes.
It’s an extension of the desktop metaphor. In a Mac, the distinction between an open app and a closed one is fuzzier than on Windows. In a Mac, you have A Mac and it helps you do things, and the Mac tends to the applications for you. In Windows, you have a computer with an OS that hosts applications that help you do things. The distinction is irrelevant when considered from the hardware outward, but is subtly but powerfully different when considered from the user inwards.
It doesn't start the program again. Mac OS is smart enough to know if the program is already running and just switches to it.
Three-finger-up + click is way smoother than doing a random walk through your open windows.
It also lends discoverability to multiple desktops at exactly the moment where you might be thinking to yourself "hmm, I could use multiple desktops right about now."
> With better operating systems, I can put focus on and work with any aspect of the GUI.
I'm glad you feel that way because when I use Windows I quickly get frustrated by apps stealing the focus and authorization windows opening underneath everything else.
lolwut? Cmd+? opens a box to incrementally search all menus, Ctrl+P and Ctrl+N let you navigate the results, and return runs the menu item. Arrow keys let you walk the focus if you don't know emacs shortcuts, and they do so in every menu. It's head and shoulders above Windows.
Ummm, the challenge was to use the keyboard though? No amount of rationalization will convince me that taking hands your hands off the keyboard is smoother than leaving them on.
I do enjoy watching junior devs struggling to find their lost full-screen workspace window by swiping furiously sideways with their trackpad though. For even more ridiculousness, I know I can always get a minute to read some news after I ask them to open Chrome devtools and wait while they try to get back to the original Chrome window afterwards.
> lolwut? Cmd+? opens a box to incrementally search all menus, Ctrl+P and Ctrl+N let you navigate the results, and return runs the menu item.
Pffft, okay. You don't even know the difference between searching and hunting. They're completely different operations, for different purposes. There is a way to hunt through menus with macOS, but like all Apple shortcuts it's completely obtuse.
No amount of rationalization will convince me that Windows shortcuts for accessibility are more productive than using your mouse in appropriate situations (some X11 tiling WMs do a better job, yes). See, I can make statements like this too.
> I do enjoy watching junior devs struggling to find their lost full-screen workspace window by swiping furiously sideways with their trackpad though. For even more ridiculousness, I know I can always get a minute to read some news after I ask them to open Chrome devtools and wait while they try to get back to the original Chrome window afterwards.
That's nice; you enjoy watching fledglings who don't know what they're doing struggle to use their tools effectively. That says nothing about achievable productivity in an environment.
Yep. You can say whatever you want. I have never seen a mixed mouse and keyboard user do things faster or more efficiently than a pure keyboard user. Pure scientific empirical evidence is on my side and no amount of rationalization will change the fact that keyboard shortcuts are faster once you learn them. You can read about some studies surrounding this here:
> That's nice; you enjoy watching fledglings who don't know what they're doing struggle to use their tools effectively.
Sure. Who doesn't? There are whole sub-reddits dedicated to this type of comedic performance.
> That says nothing about achievable productivity in an environment.
Yes, it does. That they resort to constantly using the trackpad to swipe between speaks loudly to the lack of obvious keyboard functionality.
You‘ve clearly never watched anyone use any kind of CAD or graphics application in that case!
The challenge was to get to a window, quickly. The keyboard was your constraint.
> I do enjoy watching junior devs struggling
Funny, I enjoy watching the windows crowd alt-tab-tab-tab-tab-tab-tab-tab-tab ah were was it again?
> Pffft, okay. You don't even know the difference between searching and hunting.
Now you're playing with definitions to hide the fact that you were wrong.
> like all Apple shortcuts it's completely obtuse.
Not if you learn them. You clearly did it before, so get off your butt and do it again.
Personally, I love having emacs-style Ctrl+PN and Ctrl+FB navigation available everywhere, and I love the fact that with copy/paste on Cmd+CV I don't have to worry about where a terminal app moved Ctrl+C off to.
Incorrect. My challenge, that you responded to in an article about keyboard shortcuts was about using the keyboard. You failed miserably and your comment got disappeared for it. Try harder xP
> Funny, I enjoy watching the windows crowd alt-tab-tab-tab...
Sure, you can have newbs on any platform. The difference is that Windows and Windows-inspired desktop environments like XFCE are vastly more configurable than anything on a Mac - where it's Apple's way or the highway. You're stuck with Apple's choices unless you hack your OS with third party apps to fix them.
> Now you're playing with definitions to hide the fact that you were wrong.
You're wearing your ignorance like a badge of pride. Learn about UX if you don't understand the difference between searching and hunting. There's a world of difference.
> Not if you learn them.
That's my entire point. Windows shortcuts easily discoverable since they are clearly labeled; no weird symbols that don't exist anywhere on the keyboard and there are fewer of them since the same shortcuts work everywhere. Plus you can tab to focus everywhere instead of pushing a mouse pointer thousands of miles a year to get where you want.
> Personally, I love having emacs-style Ctrl+PN and Ctrl+FB navigation available everywhere...
And yet, you think constantly swapping between keyboard and mouse is "smooth". Makes sense!
I'm pretty sure this is, like, your opinion, dude.
I use an app called Contexts which hijacks ⌘+` with extra functionality (and includes fullscreen windows), but it seems to be abandoned so I fear it will stop working eventually.
It makes alt-tab not suck. It lets me search to switch apps. It lets me switch back to minimized apps. It is really is the perfect utility.
Having both in the same area of the keyboard makes my brain happy.
Its developer hasn't been updating it or fixing bugs for a long time now, but it remains the best 'alt-tab' for macOS in my book.
Trying to soon foray into consulting/coaching including [productivity enhancing] apps and workflows. This is a nice boost before going to sleep.
I get your point but macOS still has inconveniences for many tasks:
- maximize a window: on MS Windows, it's Winkey+UpArrow. On macos, it's more complicated: https://superuser.com/questions/718600/keyboard-shortcut-to-...
- bring up file manager: on Windows to bring up File Explorer, it's Winkey+E. On macos, it took until Yosemite 10.10 to provide a non-intuitive keyboard shortcut for Finder: https://apple.stackexchange.com/questions/114933/is-there-a-...
- view active process list: on Windows, it's Ctrl+Shift-Esc to bring up Task Manager. On macOS to bring up Activity Monitor, it's more complicated: https://apple.stackexchange.com/questions/1520/is-there-a-ke...
Hardly difficult, especially for the pros who tend to be touch typists.
There's also ⌥⌘esc if you just want to quickly kill an app.
Also for Finder, you can enable the "Show Finder search window" Spotlight shortcut and set it to whattever pleases you.
That's 9 keys (including "return" key) pressed vs just 2 for Winkey+E.
Well, we're on HN so I don't claim things are "difficult" for any of us techies. I say it's "inconvenient" -- especially relative to other operating systems since this thread is making comparisons.
>Also for Finder, you can enable [...]
Sure, there are often workarounds for various inconveniences. The Superuser links I cited mentioned some too.
Once you have the Finder window open you have column view, and you can browse the filesystem with nothing more than arrow keys (and no modifiers). Preview any document with space. Rename documents without reaching over to the F-keys.
Is there a quicker way to do this than clicking the dock icon or using spotlight?
For a more advanced trick, use the Command-Tab switcher, after taking your finger off of tab once the application you want is selected, but before you take your finger off the command key, press the option key, and then take your finger off the command key and then take your finger off the option key. This sounds more complicated than it is but once you get used to it, it’s straightforward and the following behavior will execute.
1. If there are no open windows, the most recent minimized window for that application will unminimize and take focus.
2. If there are no open windows and no minimized windows, a new window will open, as in the Finder, Terminal or Safari.
In an application like BBEdit or TextMate, it will create a new file, and in the case of TextEdit or Pages, the Document chooser or whatever Apple calls this dialog will pop-up. In an application like Notes, the main window will appear.
This all sounds complicated, but if you know your applications well, and what type of application it is, you’ll quickly suss our the pattern that it is basically a Command-N shortcut from the switcher except for some of those newfangled iCloud-aware and/or Database-centric apps.
Or consider Alfred App which has fuzzy search:
“Command Space” then “fd”
Will find finder. That’s around 3 or 4 keys
The huge problem (in my experience) with the Windows key and associated shortcuts is accidentally hitting it when you don’t intend. Like you want to hit control but hit Windows key and your context gets totally messed up
I had a finder window open still on another workspace. Doing this still does not give you a new finder window. You then have to press cmd+n...
> Bring up Activity Monitor: ⌘␣ "am" ⏎
If I wait a second before pressing enter, spotlight decides that instead of Activity Monitor, Dropbox.app is now the top hit for this query.
I did this in Safari too hoping to fix their race condition bugs with the autocomplete. Sometimes I can even paste a full URL, see it in the entry field, hit enter, and Safari just loads the previous address again as if I had just pressed enter. Crazy that these types of bugs are sneaking in.
>maximize a window
Control-Command-F: Use the app in full screen, if supported by the app.
Option-Command-Space brings up a Finder window from anywhere I believe, but defaults it to search mode, so you may have to chain the shortcut for a particular directory or Go to Folder after that.
I'm guessing the Activity Monitor thing is more that there is not a dedicated shortcut for launching any single app in macOS (that I can think of).
“Command - Space” then “av” gets me to Activity monitor instantaneously
You only think that because you're used to macos shortcuts.
> There absolutely has been some people there who deeply care and think long and hard about how experts use their systems even if the actual main company doesn't care so much about that segment anymore.
Do any macbooks have a numpad? Lack of a numpad is the opposite of 'thinking long and hard about how experts use their systems'.
> Everything just makes sense logically and mnemonically like using shift to invert actions like cmd+z and cmd+shift+z rather than having ctrl+z and ctrl+y for undo/redo.
ctrl+z/ctrl+shift+z, tab/shift+tab, etc, is how my fairly default linux system works.
> Then add to this the ability to rebind any shortcuts in any app at an OS level.
You can do this on pretty much any operating system.
> were some way to actually achieve this level of coherence across the whole system on Linux.
What level of coherence? All you said is you prefer macos default shortcuts...? If we're talking about support for customisation then macos is laughably far behind linux in every single respect.
My own experience, being forced to work with macos for the last few years has been quite annoying. The UI is very buggy, the app bar auto-hide constantly breaks, windows randomly disappear, macos has it's own weird (coherent?) set of shortcuts different from every other operating system, there is an insane amount of popups and notifications, maximising/fullscreening a window creates a new workspace which complicates quickly switching between windows, etc. Ability to customize the system is okay... still far behind linux. I literally do not see a single benefit of macos over linux.
Some you need to be have octopus fingers to hit them with one hand, and others are particularly weird such as screenshot (cmd+alt+4/3 isn't it?) - windows is just "something" + printscreen.
Windows keyboard shortcuts tend to feel a bit more ergonomic to me, but then I've used Windows much more than the Mac.
The differences between the 3 types of screen shorting is that Cmd-shift 3 immediately screenshots the whole screen. Cmd-shift 4 lets you select the area that is captured, pressing the space bar after hitting the key combo turns the cursor into a camera that allows you to screenshot just a window by hovering and clicking. Cmd-shift 5 gives you even more options including screen recording.
But I can’t say the Mac is the best: Windows, back in the Gates days, had keyboard commands for almost everything at his insistence (some of the PMs weren’t enthusiastic but couldn’t go against him of course). I’m not a windows fan (prefer the Mac’s direct manipulation approach to the subject-verb-object model at the foundation of Windows) but I really respected and appreciated that commitment by MS.
You can even rebind these shortcuts and they’ll work in any text field. There’s even a hack to enable Vi-like shortcuts.
They just committed to transition the Mac platform to arguably the most performant (per watt) architecture available and just released the public beta Big Sur.
If they didn't care about the Mac long term, why on Earth would they go through the trouble of making this transition?
The Mac just set a June quarter record of $7.1 billion in revenue, up 22% from last year. These numbers give Apple a lot to care about: https://www.apple.com/investor/earnings-call/
Then the terminal short cuts are bound to CTL, and at least on my Macbook Pro, CTL is only on one side. I also don't like how Return is "change a file name" instead of "run a file." There are so many things that are inconsistent with other OS's, that I guess it just comes down to what you are used to.
I've found that MacOS is much more touch-pad / mouse heavy than other OS's. For example, CTL-K is awesome for browsing through a Linux folder system. This would put you in the path area, so you can sort of use it like a terminal.
Browsing finder in MacOS is painful, click here, click there, hope you don't get lost, etc.
This is standard for modern Macs; that said, one of the first things I do with a system is use the "Keyboard" preference pane to remap caps lock to Control ("Keyboard" -> "Modifier Keys").
Maybe I'll try it.
binaryage's TotalFinder has a hotkey feature called Visor. https://totalfinder.binaryage.com
macOS stock Finder does have basic cursor key navigation. It's not Xtree, NortonCommander awesome. (Edit: Oops. This linked cheatsheet does list the Finder navigation keys.)
I've always coveted the Canon Cat's utopian interface, but have never actually tried it. https://en.wikipedia.org/wiki/Canon_Cat
macOS’s Finder has the _Go to folder_ (⇧⌘G) command for that. It’s not exactly the same but it basically allows you to do the same thing.
Press Super, type a file or folder's name, then press Enter (or Down and Enter) to open it.
Or you can switch to the Files app (Super+1 if it's your first Favourite app; or Super, “fil”, Enter) and just type to search. Enter opens the first result, Down selects others.
I have to use macOS at work and it annoys me how much I have to use the mouse.
(Or Alfred as a power-user alternative)
In macOS’ Finder, it’s command-shift-G. It also supports tab-completion and the usual text-manipulation shortcuts. It works also in file dialogs.
What happens when this bug occurs? I've run every version of OSX/macOS, and have never had a bug with using cmd-tab to switch to Finder
I've been using Mac for 3 years now, it was the same issue in Sierra, Mojave, and now Catalina.
You have no existing Finder window, and you are surprised that one does not open on its own when you switch to the app?
Could you clarify the situation?
This is also my second MacBook, so it's not the computer...
Yes, my all-time favourite is the shortcut fn-backspace for delete. How handy to not need to use a distinct delete button. Who would use that anyway?
Also, I wish you luck on the quest for the perfect 60% keyboard. I'm on the same hunt, although I can make myself happy most anywhere if I have https://karabiner-elements.pqrs.org installed
ctrl - d for forward delete
and then your fingers are close to all these other useful ones:
ctrl - a, ctrl - b, ctrl -f, etc
I just converted my MacBook Air to Windows 10 because I want-need AutoHotKey everywhere.
That and I’m tired of the GUI looking progressively more like a box of candy.
It just isn't an acceptable solution at all and I wish Windows users would demand better. Really think better is possible and don't think it's even a hard problem.
I assume you weren’t around during the early Aqua days.
I think it's because ctrl+z and ctrl+y are easy to press, while cmd+y is hard to press because of the bad placement of the cmd key.
> Option-Command-Esc (from the link)
I would like to see how you press this combo with your left hand only, Alt+F4 is not ideal but much easier if I raise my left elbow away from my body.
It feels that command being close to thumb (macOS) is a much better design than using pinky with control (Windows)
macOS is still not able to let you navigate menus with shortcuts.
I can't even reliably open the File menu on macOS with my keyboard. It's been "Alt-f" on Windows for over two decades.
Mac OS has the worst shortcuts in my opinion.
Desktop short cut! How is there no Shortcut for seeing the Desktop?
Legacy of Steve Jobs doing the opposite of Windows is also a killer. Mouse Scroll wheel is opposite, close open windows icon on left and not right, not using Control but use Command key. These are not due to any reason other then to make it difficult to work between Windows and Apple. Drives me CRAZY because I have to use Apple and Windows.
The Mac has been released in 1984 with the close icon on the left side of the window's title bar, and keyboard shortcuts using the command key located directly to the left (later also to the right) of the space bar.
Windows has been released over a year later in 1985 with its own paradigm for these. So it seems like in fact, Windows has been designed to do things differently from the Mac, not the other way around.
The Windows which was released on that era also had the close function on the left side of the windows's title bar. The right side had only the minimize/maximize buttons. Moving the close function to the right side of the title bar came much later.
> and keyboard shortcuts using the command key located directly to the left (later also to the right) of the space bar.
Windows had to work with the PC keyboards of that era, which did not have that key. Much later, Microsoft gained enough influence to mandate adding a couple of extra keys to the keyboard (the "Windows" and "Menu" keys), but by then, the shortcuts had already become established (not to mention that many people still had old keyboards without these keys).
F11 for expose?
It's shocking to me that people will make authoritative sounding comments about systems that they don't use, and get their facts wrong. It's shocking to me that the supposedly bright people on Hacker News upvote it.
I have seen several blind people using Androids.
Just to name a few:
- CMD+left/right: start/end of line
- CMD+up/down: start/end of file
- CMD+Shift+arrows: corresponding selection
- Alt+left/right: word movement
- Alt+Shift+arrows: corresponding word selection
- CMD+a: select all
- CMD+1,2,3: switch between tabs in browsers/iterm/IDEs/editors
(surprisingly and infuriatingly, this does not apply to native macOS tabs; e.g. in Finder Cmd+1/2/3 changes the view, but not tabs)
All that + the fact that clipboard, undo/redo, app and windows switching are ALL done via CMD makes it truly a modern hyper button. And you still have Control for Emacs bindings, which also work in most Cocoa text fields.
If you're interested, this  is one of the best attempts to bring macOS keybindings to Linux (in particular, Elementary OS). It's a set of settings for Autokey .
There is also Kinto , which solves one particular problem: copy-paste from terminal with consistent shortcuts.
UPD: edit formatting
Of course some laptops don't have end/home/page up/page down keys and you have to avoid those.
You have answered your own question. It's home/end, Ctrl and Windows keys where in macOS it's always CMD+something.
I would assume the keyboard UX would be a low-lying fruit. I'm hoping someone with deep knowledge about linux can help me understand what is stopping various distros from simply copying the mac keyboard layout. Replace 'cmd' with the 'super' key and setup the key combinations to match macOS. That way they're consistent whether you're in a GUI application or the command-line.
Is it that the super key is not available on every computer? Or are these shortcuts protected by some sort of a copyright? Kinto seems to work by intercepting signals and reinterpreting them, then why not have the X keyboard component recompiled with a macOS keymap? I'm not at all knowledgeable in this area, so may be missing some very obvious challenges to doing so.
When I left Mac 8 years or so it was quite the opposite:
- home and end depended on application, the only one that worked consistently was ctrl - e and ctrl - a but they didn't work with shift so select to end of line was hit and miss
- one of the shortcuts that sometimes worked was cmd - left, unfortunately that was mapped to go-back-one-page in Safari. Kknd of annoying when you try to select a sentence in a form and end up losing all your carefully crafted edits.
- fn button in the place where ctrl is supposed to be, but only on laptop and small keyboards, not on the full size one. Not remappable (I understand this is fixed now).
I struggled with that machine for three years. After that I realized that Macs are perfect - for Mac people, not for Linux peasants like me.
Some applications take you to the top of the page with Home, some take you to the beginning of the line.
Are you sure you didn't hold ctrl down at the same time?
Edit: anyone else has experienced this on Windows without combining with ctrl?
Home/End always worked for me on Windows and didn't work for me on mac until I did a ton of tweaking.
My Dell laptop has Fn keys on the left/right arrow that do home/end in the same way it sounds like Macs do.
And thankfully, the Safari bug/inconsistency has been fixed. In all the major browsers on macos now, CMD+left will behave like "beginning of line" when you're in a text box.
I feel your struggle though, as someone who frequently has to / chooses to use Win/Linux, I don't think I'll ever end the fight against the shortcut patterns that have been ingrained in my hands.
- home/end: start/end of line
- Ctrl + home/end: start/end of file
- Ctrl + Shift + home/end: corresponding selection
- Ctrl + left/right arrows: word movement
- Ctrl + Shift + left/right arrows: corresponding word selection
- Ctrl + a: select all
- Alt + 1/2/3/...: switch between tabs in Chrome and VSCode where I tested it, don't know if it is working in ALL apps, for example it does not work on alacritty+tmux (where I spend most of my time) for obvious reasons.
I don't know about the consistency, but some of these make more sense semantically, like Alt+1/2/3 - "alternate to a different tab".
setxkbmap -option ctrl:swap_lalt_lctl
I use AutoKey for Terminal so that it works like Terminal in Mac OS X: Copy and paste and other Application shortcuts do not require using a shift key. Alt+C is the kill key (control-c) and all the rest of the Alt keys work like control keys in the terminal.
And yes, despite the non-trivial amount of tweaking and customization, I could never achieve the same level outside of Mac OS X.
That behaviour predates native tabs on the Mac, historically it even predates Safari and other browsers with tabs, I believe.
⌘1,2,3 in Safari for a long time selected favourites in the favourites bar. There is still a setting to still do that. I use it for useful bookmarklets.
- Shift+Home/End selects to the start/end of the entire textarea.
- Home/End first scrolls the textarea, if it is not, if it is already scrolled (this is double weird if you are somewhere down in the textarea, press home, it scrolls you to the top, press home again, it scrolls you back to where you were with the cursor on beginning of the line, then it goes to the start/end of the line as expected.
- Home/End only scroll the page, have no effect in textarea,
- Shift+Home/End selects to the start/end of the textarea.
Also, I can't get insert to work in none of my IDEs (pycharm, vscode)
If anyone knows of a way to rebind Alt+left/right to mimic the behavior, please give me a shout out. I’ve tried to reproduce with remapping to Home/End but I’ve found it really inconsistent.