Могу ли я глобально изменить ярлык cmd-Q, чтобы он удерживался в течение двух секунд, как в Chrome?

39

Много-много раз я случайно нажимал +, Qкогда намеревался закрыть вкладку или окно или переключить приложения. Когда я увидел эту опцию в Google Chrome , чтобы требовать ярлыка быть проведен , я был вне себя от радости. Проблема в том, что я использую Safari.

Итак, вкратце: как сделать ярлык «hold command-Q» универсальным для всех моих приложений (или хотя бы Safari)?

Тимоти Мюллер-Хардер
источник
4
Где эта настройка, о которой вы говорите?
Чувственный
Обалденный вопрос Тимоти !!
daviesgeek
3
@Senseful Это нелогично в меню Chrome, а не в настройках Chrome.
Тимоти Мюллер-Хардер
4
«Предупреждать, прежде чем выйти».
Тимоти Мюллер-Хардер
Отличный вопрос, ведущий к очень полезным ответам!
Пол Уогланд

Ответы:

8

Дуглас Теох создал приложение под названием SlowQuitApps , которое делает именно это.

Приложение OS X, которое добавляет глобальную задержку в 1 секунду к ярлыку Cmd-Q. Другими словами, вы должны удерживать Cmd-Q в течение 1 секунды, прежде чем приложение будет закрыто.

Когда задержка активна, оверлей рисуется в центре экрана.

yckart
источник
2
Я не могу поверить, что люди на самом деле пишут приложения для достижения этой цели. Путь к «интуитивному Apple!»
Стюарт,
18

Вот частичное решение для начинающих:

Предотвращение случайного выхода из системы в Safari (или в любом другом приложении)

Просто установите необычное сочетание клавиш для пункта меню «Выйти из Safari» в настройках клавиатуры.

Это отключит стандартный Qярлык, поэтому случайное нажатие на него не имеет значения - и вы должны подумать, прежде чем выйти!

(К сожалению, я не нашел простого способа сделать это для каждого приложения, не вводя каждое из них вручную.)

jtbandes
источник
Очень хорошо, я реализовал и проголосовал! Кроме того, по умолчанию ⌥⌘Q «Выйти и отказаться от Windows».
Пол Уогланд
О, черт, ты прав. Ну, «Q» или что-то еще должно сработать - однако я нахожу «Q» немного сложнее, если его ударить случайно.
Jtbandes
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, чтобы завершить выход ...
Тимоти Мюллер-Хардер
Умно, действительно! Голосуй вверх! :-)
Асмус
Очень хорошо, я реализовал и проголосовал!
Пол Уогланд
8

Другой вариант - использовать Karabiner со следующим XML:

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

LRI
источник
Хотя приложение было переименовано в Karabiner , этот ответ отлично сработал для меня 10.10 и был совершенно бесплатным.
Алекс Прецлав
Можете ли вы описать, как использовать это? У меня установлен Karabiner, но я не знаю, как использовать вашу команду.
Мануэль Мауки
@ManuelMauky Перейдите на страницу сложных модификаций Karabiner и нажмите кнопку «Импорт» рядом с «Запретить непреднамеренную команду-q (rev 2)».
Утку
1

CommandQ ($ 4,00) делает именно это. Он очень настраиваемый и имеет приятный графический интерфейс, хотя я не использовал его лично. Похоже, выполнить требования этого вопроса.

Тимоти Мюллер-Хардер
источник
-2

Я не верю, что это возможно.

Digitalchild
источник