是否可以全局更改cmd-Q快捷方式以要求按住2秒钟(例如Chrome中的选项)?


39

很多次,当我要关闭标签页或窗口或切换应用程序时,我不小心按了+ Q。当我在Google Chrome浏览器中看到要求保留快捷方式的选项时,我很高兴。问题是,我使用Safari。

因此,简而言之:如何使“ hold command-Q”快捷方式在所有应用程序(或至少是Safari)中通用?


4
您说的这个设置在哪里?
有意义的2012年

真棒问题蒂莫西!!
daviesgeek 2012年

3
@Senseful在Chrome菜单下,而不是在Chrome偏好设置下,违反直觉。
Timothy Mueller-Harder

4
“戒烟前要警告”。
Timothy Mueller-Harder

伟大的问题,导致非常有用的答案!
保罗·瓦格兰

Answers:


8

Douglas Teoh制作了一个名为SlowQuitApps的应用程序,正是这样做。

一个OS X应用程序,向Cmd-Q快捷方式添加了1秒的全局延迟。换句话说,您必须按住Cmd-Q 1秒钟才能退出应用程序。

启用延迟后,将在屏幕中央绘制一个覆盖图。


2
我不敢相信人们实际上是在编写应用来实现这一目标。走“直观的苹果!”的方式
斯图尔特

18

这是面向初学者的部分解决方案:

防止在Safari(或任何特定应用程序)中意外退出

只需为“键盘”偏好设置中的“退出Safari”菜单项设置一个不寻常的键盘快捷键。

这将禁用标准Q快捷方式,因此不小心击中它不会有任何不同-您必须在退出前考虑一下!

(不幸的是,我没有找到一种简单的方法来对每个应用程序执行此操作,而无需手动输入每个应用程序。)


非常好,我已实施并赞成!顺便说一句,默认情况下,⌥⌘Q是“退出并丢弃Windows”。
保罗·瓦格兰

哦,德拉克,你是对的。好吧,⌃⌘Q或其他方法也应该起作用-但是我发现⌥⌘Q很难被意外击中。
jtbandes 2012年

13

继续使用jtbandes的解决方案,将标准Quit命令重新映射到其他按键(是的,很遗憾,您需要为每个担心意外退出的应用程序手动重新映射它),您可以在Automator中创建不需要输入。它应该只有一个动作:运行AppleScript。脚本是:

tell application "System Events"
    set theName to name of the first process whose frontmost is true
end tell
tell application theName
    display dialog "Are you sure you want to quit?"
    quit
end tell

然后,您保存该服务(我将其称为“ SafeSave”),然后为该服务分配击键Q。因此,您已经收回了标准按键。


聪明。嗯,我想一个人可以编写一个脚本在cmd-Q上激活,然后需要另一个cmd-Q来完成退出...
Timothy Mueller-Harder 2012年

确实,聪明!进行投票!:-)
Asmus

非常好,我已实施并赞成!
保罗·瓦格兰

8

另一个选择是将Karabiner与以下XML结合使用:

__HoldingKeyToKey__ KeyCode::Q, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE, KeyCode::Q, VK_COMMAND, Option::NOREPEAT


当应用程序已重命名为Karabiner时,此答案对10.10而言对我来说非常有效,并且完全免费。
Alex Pretzlav 2015年

您能描述一下如何使用它吗?我已经安装了Karabiner,但是我不知道如何使用您的命令。
Manuel Mauky

@ManuelMauky转到Karabiner的复杂修改页面,然后单击“防止意外的命令-q(rev 2)”附近的“导入”按钮。
Utku

1

CommandQ($ 4.00)正是这样做的。它是非常可定制的,并且具有不错的GUI,尽管我个人还没有使用它。似乎满足了这个问题的要求。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.