¿Puedo cambiar globalmente el atajo cmd-Q para que requiera mantener presionado durante dos segundos, como la opción en Chrome?

Muchas, muchas veces, accidentalmente presiono + Qcuando quería cerrar una pestaña o ventana, o cambiar de aplicación. Cuando vi la opción en Google Chrome para requerir que se mantenga presionado el acceso directo , me llené de alegría. El problema es que uso Safari.

Entonces, en resumen: ¿Cómo puedo hacer que el acceso directo "mantener presionado el comando-Q" sea universal en todas mis aplicaciones (o al menos en Safari)?

¿Dónde está ese escenario del que hablas?
Impresionante pregunta Timoteo!!
@Senseful Está en contra de la intuición en el menú de Chrome, en lugar de las preferencias de Chrome.
"Avisar antes de salir".
¡Gran pregunta, que conduce a respuestas muy útiles!
¿Se pueden fusionar estas dos preguntas y las respuestas? SlowQuitApps no se menciona como respuesta en la pregunta anterior.

Respuestas (6)

Douglas Teoh ha creado una aplicación llamada SlowQuitApps , que hace exactamente eso.

Una aplicación OS X que agrega un retraso global de 1 segundo al atajo Cmd-Q. En otras palabras, debe mantener presionado Cmd-Q durante 1 segundo antes de que se cierre una aplicación.

Cuando el retraso está activo, se dibuja una superposición en el centro de la pantalla.

No puedo creer que la gente realmente esté escribiendo aplicaciones para lograr esto. ¡Muy bien hecho “Apple intuitivo!”

Aquí hay una solución parcial para empezar:

Prevención de cierres accidentales en Safari (o cualquier aplicación específica)

Simplemente configure un atajo de teclado inusual para el elemento de menú "Salir de Safari" en las preferencias del teclado.

Esto deshabilitará el Qatajo estándar, por lo que presionarlo accidentalmente no hace la diferencia, ¡y debe pensar antes de salir!

(Desafortunadamente, no he encontrado una manera fácil de hacer esto para cada aplicación, sin ingresar cada una manualmente).

¡Muy bien, lo he implementado y he votado a favor! Aparte, por defecto ⌥⌘Q es "Salir y descartar Windows".
Oh diablos, tienes razón. Bueno, ⌃⌘Q o algo más también debería funcionar; sin embargo, encuentro que ⌥⌘Q es un poco más difícil de golpear por accidente.

Continuando con la solución de jtbandes , una vez que haya reasignado el comando Salir estándar a una pulsación de tecla diferente (sí, lamentablemente, debe reasignarlo manualmente para cada aplicación que le preocupa cerrar accidentalmente), puede crear un servicio en Automator que no requiere aporte. Debería tener una sola acción: Ejecutar AppleScript. El guion es:

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

Luego guarda ese servicio (llamé al mío "SafeSave") y asigna al servicio la pulsación de tecla Q. Por lo tanto, ha reclamado la pulsación de tecla estándar.

Inteligente. Hm, supongo que uno podría escribir un script para activar en cmd-Q que luego requeriría otro cmd-Q para completar la salida...
¡Inteligente, de hecho! ¡Tenga un voto positivo! :-)
¡Muy bien, lo he implementado y he votado a favor!
Esto funciona bien. Tanto los flujos de trabajo de Automator como las acciones rápidas aparecen como servicios (esta parte me confundió porque normalmente no uso Automator). El único problema es que cada aplicación que no desea cerrar en Command-Q requiere su propia entrada. Pero hay muchas aplicaciones de ventana única que se pueden cerrar con Command-Q, por lo que en cierto modo es lo mejor de ambos mundos. Anteriormente, tenía Keyboard Maestro configurado con un doble toque Command-Q para salir, lo que funcionó bien pero no es nativo.
Desafortunadamente, esto no funciona con las aplicaciones de Fluid Browser. Creo que es porque no están firmados. Si bien tengo la configuración funcionando para mis otras aplicaciones con las aplicaciones Fluid Browser, aparece este mensaje de error: "La acción "Ejecutar AppleScript" encontró un error: "No autorizado para enviar eventos de Apple a Eventos del sistema". Si alguien tiene alguna idea de cómo para solucionar esto, estaría encantado de intentarlo. He profundizado en la investigación aquí pero sin éxito: felix-schwarz.org/blog/2018/06/… mjtsai.com/blog/2018/08/23/ Descripción de uso de eventos de Apple

Otra opción es usar Karabiner con el siguiente XML:

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

Si bien se cambió el nombre de la aplicación a Karabiner , esta respuesta funcionó muy bien para mí en 10.10 y fue completamente gratuita.
¿Puedes describir cómo usar esto? Tengo Karabiner instalado pero no se como usar tu comando.
@ManuelMauky Vaya a la página de modificaciones complejas de Karabiner y haga clic en el botón "Importar" cerca de "Evitar comando no deseado-q (rev 2)".

CommandQ ($4.00) hace exactamente esto. Es muy personalizable y tiene una GUI agradable, aunque no la he usado personalmente. Parece cumplir con los requisitos de esta pregunta.

No creo que eso sea posible.