Jak wyłączyć Command-Q w Quit?

78

Czy jest jakiś sposób, aby wyłączyć command+ Qza zamykanie aplikacji?

Próbowałem dodać ten menuitem do okienka preferencji „Skróty klawiaturowe” (zgodnie z sugestią tutaj ) i ponownie przypisać go do command+ option+ Q(nieco trudniej trafić), a element menu zmienił się, aby to pokazać, ale command+ Qnadal powoduje zamknięcie aplikacji.

Używam OS X 10.7, ale z radością zaktualizowałbym do 10.8, jeśli to naprawi.

Aplikacja, dla której naprawdę tego chcę, to Firefox, ale gdyby było rozwiązanie, które wyłączało command+ Qdla każdej aplikacji, to też byłoby w porządku.

Rozpoznać
źródło
1
Szukasz globalnego hacka, czy byłbyś w stanie po prostu ponownie mapować aplikacje, które chcesz zastąpić? To drugie jest dość łatwe przy użyciu normalnego panelu preferencji klawiatury i utworzenia kolejnego skrótu (takiego jak polecenie - shift - kontrola - opcja - Q), który nie zostanie naciśnięty na kaprys.
bmike
bmike: Też bym wziął, ale jak powiedziałem, próbowałem zrobić to z poleceniem-opcja-Q i to nie działa. Jeśli spróbuję wprowadzić polecenie-opcja-shift-Q, wyemituje sygnał dźwiękowy i poinformuje, że aplikacja Prefs systemowe anulowała wylogowanie.
Ken
Problem polega na tym, że musisz przerwać jazdę na podstawie aplikacji i dołączyć nazwę aplikacji, aby pełna nazwa menu została wprowadzona w skrócie specyficznym dla aplikacji.
bmike
bmike: Określiłem zastąpienie tylko dla Firefoksa i umieściłem nazwę aplikacji w zastąpieniu menuitem.
Ken
1
Hmm - nie przeczytałem pytania, aby oznaczać, że Firefox celowo ignoruje skrót klawiaturowy zdefiniowany przez OS X - ale może to właśnie widzisz na podstawie komentarzy? Zastanawiam się, czy może wprowadzili funkcję zmiany mapowania skrótów? Minęło trochę czasu, odkąd prowadziłem lisa. Wybranie polecenia takiego jak ⌃⇧⌘Z powoduje, że Command-Q jest niewrażliwy na Mail i Safari - zobacz to zdjęcie, jak skonfigurować skróty. cl.ly/MDtE
bmike

Odpowiedzi:

117

Przejdź do Preferencji systemowych, a następnie Klawiatura. Wybierz skróty. W lewym okienku znajdź Dostępność. Teraz w prawym okienku włącz opcję Odwróć kolory, a następnie kliknij pole skrótu, aby ponownie przypisać skrót do Cmd + Q.

Otóż ​​to. Teraz, gdy naciśniesz Cmd + Q, kolory ekranu zostaną odwrócone. Naciśnij ponownie, aby powrócić do normalnych kolorów. Nigdy więcej przypadkowego zamykania aplikacji (np. Zamykanie ponad 200 kart w Firefoksie podczas próby użycia Cmd + a lub trzy tuziny plików PDF w Preview podczas próby użycia karty Cmd +; ostatnie dwie rzeczy zrobiłem, nigdy więcej).

PS Ktokolwiek pomyślał, że dobrym pomysłem jest użycie Cmd + Q do opuszczenia aplikacji, powinien wrócić do szkoły użyteczności.


Dostępna jest również przyjemna wtyczka o nazwie Always Ask , która wymusza wyświetlenie okna dialogowego przed opuszczeniem Firefoksa.

Daniel
źródło
12
Właśnie zarejestrowałem się tutaj, aby głosować na tę odpowiedź. Cmd+Qjest odpowiednikiem tworzenia @symbolu na niemieckim układzie klawiatury PC-105. Przełączanie się między komputerem PC a komputerem Mac doprowadza mnie do szału, ponieważ ciągle zamykam przeglądarkę, gdy gdzieś się loguję. Dzięki za genialny pomysł z odwracaniem kolorów.
Waqar Lim,
3
Przypisałem go do „Przełącz na pulpit 1”. Ponieważ i tak nie korzystam z tej funkcji, w rzeczywistości nic nie robi.
tiktak
3
Punkt bonusowy za użycie Odwróć kolory jako ostrzeżenie. Świetne opinie na temat UX.
Jason
2
Podoba mi się twój pomysł invert color, kocham go, wygląda nerd
vanduc1102
1
Możesz także wybrać Launchpad and Dock > Show Launchpadi ustawić na Cmd+Q. Jest to mniej denerwujące niż gwałtowne miganie całego ekranu podczas odwracania kolorów.
SiddharthaRT
7

Korzystając z KeyRemap4MacBook, możesz dodać to do private.xml :

<item>
  <name>disable_command_q</name>
  <identifier>disable_command_q</identifier>
  <autogen>__KeyToKey__ KeyCode::Q, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
  <autogen>__KeyToKey__ KeyCode::Q, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::Q, ModifierFlag::COMMAND_L</autogen>
</item>

Bez | ModifierFlag::NONEpierwszego elementu autogenicznego wyłączałby również np. ⌥⌘Q. Drugi element autogeniczny zmienia się z Q na Q.

Istnieją również predefiniowane ustawienia, które powodują, że wysyłanie ⌘Q wymaga przytrzymania ⌘Q lub dwukrotnego naciśnięcia ⌘Q:

Są one zdefiniowane w custom_shortcuts.xml :

<item>
  <name>Hold Command+Q to Quit Application</name>
  <appendix>(You can adjust the threshold time of holding by</appendix>
  <appendix>"[Holding Key to Key] Holding Threshold" in Key Repeat tab.)</appendix>
  <identifier>remap.holdcommandQ</identifier>
  <autogen>__HoldingKeyToKey__ KeyCode::Q, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE, KeyCode::Q, VK_COMMAND, Option::NOREPEAT</autogen>
</item>
<item>
  <name>Press Command+Q twice to Quit Application</name>
  <identifier>remap.doublepresscommandQ</identifier>
  <autogen>__DoublePressModifier__ KeyCode::Q, VK_COMMAND | ModifierFlag::NONE,
    KeyCode::VK_NONE,
    KeyCode::Q, VK_COMMAND
  </autogen>
</item>
Lri
źródło
2
W Karabiner Elements (następcy KeyRemap4MacBook) istnieje „złożona modyfikacja”, którą można pobrać online i osiągnąć to samo zadanie: pqrs.org/osx/karabiner/complex_modifications/#command_q Zmiana opcji Safari na Firefox lub inną przeglądarkę to wystarczy kwestia zmiany wyrażenia regularnego pakietu aplikacji w konfiguracji JSON (która powinna znajdować się w ~/.config/karabiner/assets/complex_modifications).
Gustavo Bezerra,
5

Przepraszamy za wykopanie tak starego postu, ale ten pomysł może być przydatny .

W Preferencjach systemowych - Klawiatura utwórz nowy skrót do aplikacji, której chcesz zapobiec. Wyszukaj tytuł polecenia wyjścia w menu aplikacji i wprowadź dokładnie ten sam tytuł co tytuł menu dla skrótu, a następnie podaj inny skrót.

Rzeczywiście, nie masz tego problemu ze wszystkimi aplikacjami, ale tylko przeglądarką i może jedną lub dwiema innymi aplikacjami.

użytkownik67010
źródło
1
Witamy, aby zapytać inaczej! Chociaż ten link może odpowiedzieć na pytanie, lepiej jest dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
grg
2
To rozwiązanie nie dotyczy Firefoksa. Firefox pokazuje nowy skrót w swoim menu. Ale to nie działa. cmd-q nadal zamyka przeglądarkę ...
JerryWho
Użyłem tego linku, który opisuje to samo rozwiązanie i które działało idealnie dla mnie.
totymedli
Właśnie dodałem skrót „Opcja Q” do „Zamknij Firefox” jako skrót specyficzny dla aplikacji (Firefox) dla Firefox. W przeglądarce Firefox mój element menu „Zamknij Firefox” pokazuje teraz opcję Q, a cmd Q nie zamyka już aplikacji, ale opcja Q tak. Musisz dokładnie sprawdzić tekst pozycji menu. Och, rozumiem, jesteśmy tutaj za kilka lat; z OS X 10.12.3. i Firefox 51.0.
Wayfaring Stranger
Dobre dopasowanie do Safari (Safari przestrzega skrótu) i oszczędzanie rozsądku dla tych z nas, którzy często uderzają CMD + Q zamiast CMD + W.
AncientToaster,
5

Znalazłem sposób na zrobienie tego bez konieczności zmiany głośności lub podobnych czynności po naciśnięciu command+ Q.

przejdź do preferencji systemowych -> klawiatura -> kontrola misji -> „nie przeszkadzać”.

Następnie kliknij pole i zmień na: command+ Q.

Pomocnik
źródło
Niezła sztuczka. Po prostu chcę dodać - jeśli nadal chcesz zachować możliwość zamknięcia aplikacji za pomocą skrótu, ale nie ma takich preferencji, możesz to zrobić, przechodząc do Settings-> Keyboard-> zakładka Shortcuts-> z listy pozycji po lewej wybierz App Shortcuts-> naciśnij +przycisk, dodaj Twoja aplikacja -> Ważne! wpisz dokładnie Quiti przypisz skrót. Cieszyć się! i.ibb.co/PzHvfRh/Screen-Shot-2019-09-04-at-10-38-12-AM.png
Stanislau Baranouski
4

Użyj remapera klawiatury. Jest świetny GPL dla OSX (używam Keyremap4MacBook) Wystarczy zmapować kombinację klawiszy Q na coś, co nic nie robi.

grok
źródło
1
Teraz nazywany Karabiner: pqrs.org/osx/karabiner Nie działa pod 10.12, obsłuży wcześniejsze systemy operacyjne. Istnieje wstępnie napisany skrót do globalnej zmiany cmd Q na coś innego tutaj: pqrs.org/osx/karabiner/list.html.en w obszarze Custom Shortcuts
Wayfaring Stranger
3

Nie jest to bezpośrednia odpowiedź na twoje pytanie, ale możesz nakazać Firefoxowi automatyczne otwieranie starych okien po uruchomieniu za pomocą When Firefox startsopcji w Generalpanelu preferencji.

Jeśli nie chcesz zmieniać ekranu startowego tylko dla okazjonalnego przypadkowego wyjścia, możesz także wykonać polecenie: Historymenu -> Restore Previous Session.

Motek
źródło
10
Tak, ale jeśli otwartych jest wiele okien / kart, może to zająć sporo czasu, a niektóre nie będą w stanie całkowicie odzyskać stanu sesji / stanu. Irytujące przywraca wszystkie okna do bieżącej przestrzeni, zamiast do przestrzeni, w której były wcześniej.
Ken
1

Przejdź do Preferencji systemowych> Klawiatura> Skróty, a następnie przycisk aplikacji na lewym pasku . Naciśnij przycisk + , a następnie wybierz aplikację. Wpisz „Quit (nazwa aplikacji)” w polu tytułu menu. Dodaj swoje polecenie, aby zastąpić cmd-q i to wszystko.

Mac Pro
źródło
Nie dodaje to niczego, czego inne odpowiedzi jeszcze nie obejmowały.
Tetsujin
1

QBlocker

QBlocker to darmowa aplikacja typu open source, która rozwiązuje ten problem, wymagając od użytkownika przytrzymania CMD + Q, aby zamknąć wszystkie aplikacje lub tylko niektóre.

Steve Moser
źródło
0

Jak widzieliście, ustawienie nowego skrótu klawiaturowego w Prefach systemowych nie zawsze działa. Spowoduje to zmianę skrótu pokazanego w menu, ale aplikacja nadal może nasłuchiwać naciśnięcia klawisza Commmand + Q. Widziałem kilka aplikacji, które to robią. Nawet niektórzy słuchają naciśnięć klawiszy, które nie są wymienione jako skróty w menu (na przykład Photoshop).

Opcją innej firmy jest użycie czegoś takiego jak ControllerMate . Ma możliwość zmiany mapowania dowolnego wejścia kontrolera (klawiatury, myszy, gładzika, joysticka itp.) I zmiany tego, co robi. Używam go do wykonywania wielu mapowań i uruchamiania skryptów makr. Można je ustawić dla poszczególnych aplikacji lub globalnego stanu całego systemu.

Używając ControllerMate, możesz zmapować Command + Q, aby nic nie robić, a następnie Command + Opcja + Q wywołać pozycję menu Wyjdź. Lub możesz się zachwycić i poprosić Command + Q, aby nic nie robił, poza tym, że naciśniesz Command + Q ponownie w ciągu 1/2 sekundy, wówczas wywoła to menu Quit.

ControllerMate to niesamowita aplikacja. Dokonałem wielu dostosowań, takich jak „Tryb szefa / małżonka”, który jest jednym naciśnięciem klawisza, który wykonuje następujące czynności

  • wycisza dźwięk z komputera
  • wstrzymuje odtwarzanie iTunes
  • zamyka QuickTime i / lub VLC, jeśli jest uruchomiony
  • minimalizuje obecne okna Firefoksa i otwiera nowe okno na Google.com

Inną sugestią (wraz z sugestią Henry'ego) jest użycie menedżera sesji, więc jeśli Firefox zostanie zamknięty przez przypadek, możesz łatwo przywrócić. Wbudowany menedżer sesji jest OK, ale powinieneś także spojrzeć na Tab Mix Plus . Nie tylko zapewnia niesamowite opcje zarządzania kartami, ale jest także świetny menedżer sesji. Zapisałem wiele sesji i mogę je szybko pobrać w nowych oknach.

Oprogramowanie Insomniac
źródło
5
24,95 $ za remapper wejściowy? To przezabawne.
Navin
0

Po prostu zastąpiłem istniejące polecenie nowym,

Dawny. Zastąpiłem polecenie Quit dla Sublime Text dla MAC,

Kiedyś dodawałem nowy skrót i dodawałem nowe polecenie alt+command+c

SagarPPanchal
źródło
0

Możesz wyłączyć Cmd + Q za pomocą BetterTouchTool (wspaniała aplikacja) dla Mac OS:

Idź do Klawiatura -> Dodaj nowy skrót lub sekwencję klawiszy -> mapuj Cmd + Q na „Brak akcji”

wprowadź opis zdjęcia tutaj

Dio Phung
źródło
0

Nie ma tu rozwiązania, które moim zdaniem powinno być warte rozważenia. Jeśli nie masz nic przeciwko usunięciu polecenia + q całkowicie z komputera, możesz efektywnie zmienić mapowanie w Ukulele, aby Command + Q wykonał kolejny skrót klawiaturowy.

Możesz sprawić, że wykona polecenie + spacja lub polecenie + 1, po prostu przypisz to do czegoś innego.

Podejście to ma swoje zalety i wady, ale powinno działać.

William
źródło