Czy mogę globalnie zmienić skrót cmd-Q, aby wymagać przytrzymania przez dwie sekundy, tak jak w przypadku Chrome?


39

Wiele, wiele razy przypadkowo nacisnąłem +, Qgdy chciałem zamknąć kartę lub okno albo przełączyć aplikacje. Kiedy zobaczyłem opcję Google Chrome wymagającą przytrzymania skrótu , byłem zachwycony. Problem w tym, że korzystam z Safari.

Krótko mówiąc: w jaki sposób mogę uczynić skrót „przytrzymaj klawisz Command-Q” uniwersalnym dla wszystkich moich aplikacji (lub przynajmniej Safari)?


4
Gdzie jest to ustawienie, o którym mówisz?
Sensowny

Niesamowite pytanie Tymoteusz !!
daviesgeek

3
@Senseful Jest to sprzeczne z intuicją w menu Chrome, a nie w preferencjach Chrome.
Timothy Mueller-Harder

4
„Ostrzegaj przed rezygnacją”.
Timothy Mueller-Harder

Świetne pytanie, prowadzące do bardzo przydatnych odpowiedzi!
Paul Wagland

Odpowiedzi:


8

Douglas Teoh stworzył aplikację o nazwie SlowQuitApps , która właśnie to robi.

Aplikacja OS X, która dodaje globalne opóźnienie 1 sekundy do skrótu Cmd-Q. Innymi słowy, musisz przytrzymać Cmd-Q przez 1 sekundę, zanim aplikacja zostanie zamknięta.

Gdy opóźnienie jest aktywne, na środku ekranu rysowana jest nakładka.


2
Nie mogę uwierzyć, że ludzie piszą aplikacje, aby to osiągnąć. Sposób na „intuicyjne Apple!”
Stewart

18

Oto częściowe rozwiązanie na początek:

Zapobieganie przypadkowemu zamknięciu programu Safari (lub dowolnej konkretnej aplikacji)

Wystarczy ustawić nietypowy skrót klawiaturowy dla pozycji menu „Zakończ Safari” w preferencjach klawiatury.

Spowoduje to wyłączenie standardowego Qskrótu, więc przypadkowe naciśnięcie go nie robi różnicy - i musisz pomyśleć przed wyjściem!

(Niestety nie znalazłem łatwego sposobu na zrobienie tego dla każdej aplikacji, bez ręcznego wprowadzania każdej z nich).


Bardzo miło, wdrożyłem i głosowałem! Nawiasem mówiąc, domyślnie ⌥⌘Q to „Zamknij i odrzuć Windows”.
Paul Wagland

O rany, masz rację. Cóż, „Q” lub coś innego również powinno działać - jednak uważam, że „Q” jest trochę trudniejsze do trafienia przez przypadek.
jtbandes

13

Kontynuując rozwiązanie jtbandes, po ponownym przypisaniu standardowej komendy Quit do innego naciśnięcia klawisza (tak, niestety, musisz ją ponownie przypisać ręcznie dla każdej aplikacji, której martwisz się przypadkowym zamknięciem), możesz utworzyć usługę w Automatorze, która nie przyjmuje wkład. Powinien mieć jedną akcję: Uruchom AppleScript. Skrypt to:

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

Następnie zapisujesz tę usługę (nazwałem moją „SafeSave”) i przypisujesz tej usłudze naciśnięcie klawisza Q. W ten sposób odzyskałeś standardowe naciśnięcie klawisza.


Sprytny. Hm, przypuszczam, że można napisać skrypt aktywujący się na cmd-Q, który wymagałby kolejnego cmd-Q, aby ukończyć wyjście ...
Timothy Mueller-Harder

Rzeczywiście, sprytnie! Oddaj głos! :-)
Asmus

Bardzo miło, wdrożyłem i głosowałem!
Paul Wagland

8

Inną opcją jest użycie Karabinera z następującym kodem XML:

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


Chociaż nazwa aplikacji została zmieniona na Karabiner , ta odpowiedź działała dla mnie świetnie 10.10 i była całkowicie darmowa.
Alex Pretzlav

Czy możesz opisać, jak z tego korzystać? Mam zainstalowany Karabiner, ale nie wiem, jak użyć twojego polecenia.
Manuel Mauky

@ManuelMauky Przejdź do strony złożonych modyfikacji Karabinera i kliknij przycisk „Importuj” obok „Zapobiegnij niezamierzonemu poleceniu q (rev 2)”.
Utku

1

CommandQ (4,00 $) robi dokładnie to. Jest bardzo konfigurowalny i ma ładny GUI, chociaż nie korzystałem z niego osobiście. Wydaje się, że spełnia wymagania tego pytania.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.