Hacker News new | past | comments | ask | show | jobs | submit login
⌘Q is too damn close to ⌘W (squishtech.posterous.com)
226 points by sprsquish on Nov 9, 2010 | hide | past | favorite | 106 comments



The reason it's not normally a problem is that if you're working on a document and you hit ⌘Q (or ⌘W for that matter) you will be prompted to save your changes.

However, this does become a problem in web browsers and file browsers where there are no changes to save.

Apparently in the early days of OS X the NEXTSTEP guys wanted to add a ⌘Q shortcut to Finder, which would log you out of OS X. As the story goes, some people at Apple really hated that idea, so after some lively debate they settled on ⌘⇧Q instead. (As a bonus, it's now a global shortcut, so you don't have to be in Finder to use it.)

Similar problem with web browsers. You can give it a different shortcut, or you can enable a prompt to warn when closing multiple tabs. Most people opt for the latter.


In System 7, I think it was, it was possible to use ResEdit on the Finder to add a ⌘Q. Useful if you were low on memory. IIRC, if the last application exited, the Finder would restart.


In earlier versions of OS X (<= 10.3 (?)), ⌘Q when in the Finder quits it, just like any other application, which was a little disconcerting the first time you did it (by mistake).


This wasn't the case at all, at least not on stock OS X (who knows what you could enable with haxies). You could certainly force quit the Finder, but it just relaunched immediately.


Well, that's funny, because I'm using vanilla OS X 10.3.4 right now, and I just quit the Finder in the way that I said.

Screenshots:

http://www.alexmaslin.org/quit-finder.jpg

http://www.alexmaslin.org/no-finder.jpg

It doesn't relaunch automatically. You either have to click on the Finder icon in the Dock, or otherwise it relaunches itself if you quit all other open applications.


That's extremely funny, but I'm almost completely certain that's not as "vanilla" as you think it is. Perhaps it was enabled on the command line? It looks like

  defaults write com.apple.finder QuitMenuItem -bool YES
will do the trick. So perhaps you're operating from a custom com.apple.finder preferences file.


Yes you are right. I have absolutely no recollection of tweaking this, but it seems it has been done. (I just checked a different, definitely unadulterated 10.3.x install, and it doesn't have the Finder quit menu item.) Thanks for correcting me.


I had this issue for a while, and got around it by requiring Firefox to prompt me if I'm closing more than one tab at a time. It's ugly, but it works.


Most browsers warn you if you are about to close multiple tabs.... I guess chrome doesn't? Weird.

That would be an implementation problem for chrome - every other OSX application tends to properly warn you if you are about to close multiple context windows with cmd-q.

EDIT: Just researching a bit- this seems to be a conflict between the Chromium design goals and the OSX UI guidelines... the Chrome team absolutely refuses to add a warning dialog if you try to close multiple tabs, but it would be the expected behaviour on OSX.

I tend to fall on the side of OSX - part of what makes it great is UI consistency - and this is one case where Chromium is making things worse, not better.


The latest developer version of Chrome (9.x) has an experimental warning dialog in "about:flags".


Interesting that they gave in and added it, since they've been WONTFIXing requests to make it even a non-default option for over two years: http://code.google.com/p/chromium/issues/detail?id=147


Where? I have 9.0.570.1 on Windows 7 (32-bit) and I don't see such an option in the about:flags.

The only flag relating to tabs I can see is the first one to put the tabs down the side.


The flag is "Confirm to Quite". It might be Mac (v 9.0.572.1) only right now as I don't see it in Linux (v 9.0.570.1).


I'm 99% certain that this is a Mac-only option for now. It might make it's way into the other OS builds, but I don't think it is currently set up for them.


Might be a v9.0.572.1 only option, and that version seems to have only made its way to Macs as yet. Windows and Linux seem to be at v9.0.570.1 still.


I've got v9.0.577.0 running on Linux and I don't have it either.


I think that the best approach would be do have a warning as default, except from in "Incognito" mode - that way, people who feel a need to quickly close the browser can use Incognito mode or disable the warning and the rest of us avoid troublesome accidental closing of the browser.


Do people really not know that Chrome has an option to reopen itself with the tabs you had open last? Preferences > Basics > On Startup > Reopen the pages that were open last.


I think the Ctrl+Shift+T shortcut to reopen closed tabs works across sessions too.


That's the one feature that's definitly missing from Safari. (Safari only just now learned to re-open the last tab with Command-Z. All the other tabs you'll have to search for yourself in the recently closed pages-menu.)


History -> Reopen All Windows From Last Session


In addition to the "reopen all windows" option mentioned you would probably be wise to check out the Sessions safari extension if you tend towards my habit of keeping lots of state in tens of browser windows with lots of tabs in each window... Sessions does a much better job of actually remembering your open tabs and windows (I have had the LastSession plist get messed up and windows or tabs open up completely empty too many times to count) and you can create or edit various save points for collections of windows and tabs.


YES!!!


This did not work for me using Chromium 5.0.375.127 (0) under FreeBSD 8.1.


This.


Well yes, but if you have 20+ tabs open in a couple of windows, it's disruptive and time consuming to close and reopen all of them.


And I'm sometimes a little annoyed at all the things to which I've been saying for the last week "I'll get back to that" suddenly showing up in my company's proxy logs all at once.


If that's a serious concern you might want to rethink your company ;)


Chrome actually reopens all tabs for you if you use the command after restarting chrome. I don't like the author's solution because I use cmd 1-9 for navigating between tabs.


I don't like the author's solution either. Cmd+Option Q seems like an unused alternative that wouldn't require a major re-wire of habits to change to, just a slight mash of the keys to the left.

I initially thought Cmd+Shift Q would be better, but that is tied to System Logout.


Ah, that must be why there's the inconsistency between Mac and other platforms here. On Windows and Linux, Ctrl-Q does nothing; Ctrl-Shift-Q exits Chrome.


I forget where I saw this tip, but after making this mistake several times I remapped command-Q in Chrome to the "Zoom" command. (Keyboard control panel -> Keyboard Shortcuts -> Application Shortcuts). It's already saved me lots of time. And of course, any harmless menu command will work in place of "Zoom."

Edit: after I RTFA, I see this is much like what the article suggested. The only real difference is that my approach prevents you from quitting from the keyboard at all.


why not use sessioin buddy[0] plugin, which save your tabs, so you don't have to open 20+ all at once

[0] https://chrome.google.com/extensions/detail/edacconmaakjimmf...


Firefox + BarTab FTW.


Many sites use session cookies, which expire on exit.


That doesn't change the fact that I get mad and lose time whenever I accidentally close all my tabs.


If you have something typed up, it may not always come back. For instance, Facebook uses javascript-y input boxes, so if you accidentally back away or close the window, the browser will not restore your content. Also, a Flash game will not save your state, etc.


The sweet Sessions extension for Safari solves some of those problems.

http://dl.dropbox.com/u/8247646/sessions/index.html


And if you use the Recently Closed Tabs feature on the New Tab page, you can reopen sets of tabs that were all closed at once.


This is also a list of the "recently closed" tabs in the history menu if you cmd+w instead of cmd+q.


Yes, but it might not restore the state of the Web page at the time it was closed.


Latest chrome (9.x dev) has an option in "about:flags" to show you a kind of confirmation box before quitting.


This has been the best tip I've ever gotten. Thank you kind sir for having changed my life so drastically in just a second!

+1


I've had this happen to me in Chrome a few times recently (I switched to Chrome full time a few weeks ago), but I've never had it happen in Safari since Safari prompts you if you have multiple tabs/windows open.


Safari didn't prompt for the first major version or two — and didn't have 'reopen all windows from last session', either. Suuuuck.


What's really needed here is not more distance between hotkeys, but instead universal lightweight undo for user interactions.

The most precious resource is the user's time. There should be no interaction that irreversibly discards the user's work. We have fairly universal undo for editing operations; there should be just as much undo support for closing windows, tabs, or apps -- carefully constructed artifacts of the user's workflow.


Tabs: ⇧⌘T

Apps: double tap

Windows: Good idea! If only there was an OS that treated those as vital UI components...


"The Opposite of Fitts' Law - The Ejector Seat Analogy"

http://www.codinghorror.com/blog/2010/03/the-opposite-of-fit...


no keymap is without its annoyances. in DVORAK, ⌘w is right next to ⌘v (paste). i close windows all the time :(


On the other hand, in Dvorak, Q is directly above the left ⌘ key (where X usually is), and W is directly above the right ⌘ key (where , usually is). I'm always reminded of this serendipitous symmetry whenever people complain about ⌘Q and ⌘W being adjacent on QWERTY.


absolutely. this is a wonderful thing...i may close a lot of windows, but i don't usually quit the entire program unless i mean to.


unless somebody steps up to my computer and tries to cut some text


In vi, I use control+w to shift between the sections of a split window. You can imagine the hilarity that used to ensue. But, it's not an issue anymore. I haven't made that mistake in well over a year.


Similarly, in emacs I use ctrl+n to go down. On FF, this will open 5-20 windows, depending on how long I wait. (I have a very fast repeat.) Pentadacty with emacs bindings has helped with, but occasionally I will hit the key to pass all keys to FF, and once again end up with ~20 windows to close.


Me too, ugh. I also can't tell you how many times I've hit M-d thinking I'd delete a word and then keep typing, and end up writing all over the address bar instead.


Switchers to OS X with a german keyboard layout also experience quite a lot of fun. That's because on Windows, you have to type ALT+Q to get the @ in an email adress.

You have to fight your muscle memory not to type CMD+Q in OS X.


German hackers represent: On a German keyboard on Windows or Linux, you have to enter a few characters with the right Alt key (the "AltGr" key). This includes the "@" sign, which is located on the "Q" key. A lot of first-time switchers thus cause their browser to close every time they try to enter an email address.

Incidentally, the "@" sign, as many other characters, is on a different key on the German Mac layout. Never understood why e.g. the US layout stays the same on every system, but the German one doesn't. Good time that I switched to the US one long ago. Now I only have to fight with different ways to access umlauts…


With a bit of practice, you can train your hand to do ⌘-W as a 3-finger "chord" by touching your middle finger to the 'Q' key before allowing your index finger to depress the 'W'.


I'm using Firefox and Vimperator [1] with a TypeMatrix EZ-Reach 2030 [2] mapped to US-Dvorak under FreeBSD 8.1 with xmonad [3] + xmobar [4].

This means that:

- When my fingers are resting on the home row, they are on keys a, o, e, u and h, t, n, s.

- When I want to close a tab in Firefox, I press d, which is left of h.

- When I want to quit Firefox completely, I press :q.

I can't remember the last time I closed a tab I didn't want to close or exited Firefox without meaning to do so. The only problem I had for a while, was that I started "record macro" with q when I meant to scroll with j - that hasn't happened for quite some time now.

I mostly only use Chromium if I am logged in on various sites in Firefox and I need to use my server as proxy to access a web service bound to 127.0.0.1 on the server (meaning that it is not publicly accessible), while also using the sites I am logged in on in Firefox. I always quit Chromium by closing all tabs, and as mentioned by others, Ctrl+w is far away from Ctrl+q.

[1]: http://vimperator.org/vimperator

[2]: http://typematrix.com/ezr2030/

[3]: http://xmonad.org/

[4]: http://hackage.haskell.org/package/xmobar


I use this to map it to ⌘⇧Q

defaults write com.google.Chrome NSUserKeyEquivalents '{"Quit Google Chrome"="@$Q";}'


On German Windows keyboards, @ is on right-Alt-Q. Recently, I had a (Windows-trained) guest who wanted to write an email on my Mac, but Firefox kept "crashing".


Huh. I guess that's true, for some reason I've never noticed it before.

I usually keep my left hand on my "home keys" when browsing (Firefox user here), in order from pinky to thumb, q-w-e-f-⌘, of which I use w, f, and ⌘ on a regular basis, and I guess that usually keeps me from mis-hitting q when I mean w, I'd actually have to push the wrong finger, which is pretty rare.

Right thumb goes on the trackpad for mouse interactions (much easier now that the MBP trackpad presses in rather than having a button), other four fingers on that hand go on j-k-l-; (⌘+j/k/l I use all the time for downloads/search/address bar, ; is wasted, of course). Scrolling is the only thing that sucks, but you can get pretty far with space/shift+space (hit space with left thumb, shift with right pinky).

If I had a problem with this, I'd probably go with the WoW shortcut for quitting, alt+command+Q, which is pretty hard to do accidentally (Double-thumb keypress? Expert move...) and doesn't tend to be bound to anything else. Command+1 seems like a bad idea because some of us are very used to Command+(number) to switch to tabs.


Huh? I never had that problem and do actually like it that way. Train yourself to use the middle finger for "W" and the ring finger for pressing "Q" and the problem vanishes. It will still happen to you perhaps once per month, but I can live with that.


This is how I do it and exactly as you say, I rarely end up doing the unintended action.


C-x C-c is too close to C-x C-b.


C-x anything is too close to C-z, though that is more of an annoyance than harm.


Quitting emacs should be a fairly rare task; just remap C-x C-c to something harder to hit by accident in your .emacs file.

(I would do this myself, but I keep putting it off.)


Oh, I do. Same with C-z as mentioned below. When I'm in a terminal-based session, I keep C-x C-c and C-z around. When I'm in my main X-based session, C-z is zap-to-char and C-x C-c is bury-buffer.


Stop using qwerty.


But then C-q C-j is too close to C-q C-x.


There are sane keyboard layouts besides Dvorak.

Just to name two: I heard Colemak is nice, and I also tried learning Neo for a while. (Neo is especially suited for German.) I am using Dvorak at the moment.


This has bitten me several times and it really sucks. The "Restore Tab" function doesn't restore the state of Flash applications and it doesn't restore content in some input boxes (like those on Facebook, because they are hidden by JS initially).

If you're in Private Browsing mode and this happens, you lose the whole session forever, and that just happened to me the other day. It was really frustrating. :(


In Chrome, I just use Ctrl+Shift+T when this happens.


Maybe it's a version thing, but Ctrl+Shift+T doesn't work for me. Cmd+Shift+T does. But will it restore all the tabs you had open when you accidentally quit?


Oops, yeah it's Ctrl on non-Mac and Cmd on Mac. It does restore the tabs.


I've never had this happen to me if I recall. Do the people who have a problem with this not keep their hand in "typing position"? It seems really difficult to me, with my left hand in position (which can be assured with the F dot) to hit W with my pinky or Q with my ring finger.


In theory maybe but in practice I've never typed cmd+q instead of cmd+w. (A little bit like I've never typed ctrl+a (which select all) instead of ctrl+s (which save)).

However, I've pressed f1 instead of escape a couple of time so I make sure to bind f1 to escape in vim


That's why for applications that I do not want to quit easily I set "Application (keyboard) Shortcuts" [ OS X ] to require something less commonly used (like cntl-opt-cmd-Q) for quitting. [ OS X System Preferences -> Keyboard ]


This doesn't seem to work for me using Firefox on Snow Leopard. The menu changes to the crazy keyboard shortcut I give to Quit (and sure enough the crazy combo works as well), however Cmd-Q still quits Firefox as well.


That's because Mac Firefox is a dirty, filthy no-good hack.


FWIW... This is a useful resource when trying to remap shortcuts in Safari. I used it to remap Cmd-L to "Google Search..." to better mimic Chrome.

file:///Applications/Safari.app/Contents/Resources/Shortcuts.html


My real problem is that M-w is too close to ⌘-w, especially when I have meta mapped to ⌘ on my external keyboard.

I would really love to have a consistent set of shortcuts across emacs and everything else I use.


I think the worst design decision was putting the print button next to the save button. I've definitely sent code files in excess of 50k lines to some unknown printer before by accident.


That's poetic justice for having code files in excess of 50k lines.


Haha tell me about it. I've seen functions in excess of 30k lines.


Chrome for Linux addresses this by using Ctrl+Shift+Q.


This is like complaining that he keeps getting a spoonful of Cheerios up his nose every morning because his nostrils are too close to his mouth.


...and then posting a nice hack to relocate the nostrils to the top of the head during Cheerios-eating time and sidestep the spoon-nostril problem entirely. So it's not so bad.


Happens all the time! I'm getting my nose moved though.


I'm willing to bet the author is either A) not a touch typist or B) Comes from Windows/Linux. It's not the author's fault, of course, but it has been around since 1984 and it's unlikely to change. The 'native' way to type commands on a Mac is using your thumb to press Command and your pinky to press Q, or your ring finger to press W.

It feels awfully weird pressing Q with your ring finger.

Window/Linux users use the pinky to press ctrl, taking your hand out of the usual touch typing position, and thus making it more prone to mistakes.


I agree with your premise but not your conclusion. I'm a touch-typist - but many touch typists in the computer age end up not always using classical touch typing methods - after all,the traditional typewriter keyboard didn't have an alt or cmd or ctrl key, right?

I use the thumb on left-cmd and a ring finger on either q or w (never thought about it... maybe I use the pinky sometimes) - and I don't recall ever making a mistake, although I suspect that may partially be because I primarily use safari, and it warns me if I try to close multiple tabs or a single tab/window with form data filled out.

And everyone should hopefully be mapping capslock to ctrl.... that just saves all kinds of hassle down the road.


I could have sworn somebody made a SIMBL plugin years ago to provide confirmation for Cmd-Q in all apps...or am I just going crazy?


well, this is not really a solution to his problem, but instead intended as an informational bit. i am actually using a dvorak(-programmers) layout. then the Q and W keys are quite far apart, with the Q key right above the left ⌘ key, and W right above the right ⌘ key, a really handy addition to an (already) awesome layout.


I just did this to a blog entry after reading your post. I should have written in out in vim like I normally do.


you just changed one of the consistent features of all os x applications, how to close applications and close windows/tabs of applications.

for some reason i always use the finger motion/press of thumb on left ⌘-key + index finger on q key to quit things and i've never experienced the ⌘q ⌘w issue.


I think squishtech's first clue that they changed one of the consistent features of all OSX applications was when they went to the control panel and changed the feature.

I think it'll be OK.


It is indeed to close, but it's not worth it modify it since it's a system wide standard.


Can you close tab with Ctrl-W in Mac (like in Ubuntu and Win)? If so - just use it. Ctrl-Q do not quit browser =)


Good thing we're fixing this!


Yes, yes and yes.


A F#$#@$* men


o is too close to 0.


very true.


I will give plenty of karma to anyone who can tell me an easy way of doing something even remotely similar in Linux. I'd love it.


On Ubuntu the first thing I do with a new install is rebind quit to Command W. (System -> preferences -> keyboard shortcuts.)

If you're using Firefox you just make sure browser.warnOnQuit is set to True (out of the box, it's set to true.)

As far as Chromium goes, near as I can tell ctrl-Q does not work at all, which is something Firefox would do well to imitate.


Chromium uses Shift+Ctrl+Q to exit.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: