Prefiero la escala de grises a la inversión de color cuando trabajo con poca luz y, en general, porque es menos cansada para los ojos. Pero son demasiados clics para alternar la configuración. Soy consciente de que para invertir el color de la pantalla, el acceso directo es Cmd+++ Alt. Y abra las opciones de Accesibilidad con ++ , pero no hay escala de grises en las opciones . En este momento, abro Accesibilidad a través de Spotlight, luego elijo mostrar y cambio la casilla de verificación. Me pregunto si hay alguna tecla de acceso directo para eso. Si no, ¿es posible hacer un atajo de teclado?Ctrl8CmdAltF5
El siguiente código AppleScript de ejemplo cambiará el estado de la casilla de verificación "Usar escala de grises" en Accesibilidad en Preferencias del sistema en OS X Yosemite (probado en 10.10.4) independientemente de lo que se seleccionó por última vez en Accesibilidad, ya que le dice a Preferencias del sistema que se abra directamente al ubicación de la casilla de verificación "Usar escala de grises" y cambie su estado.
tell application "System Preferences"
reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
tell application "System Events" to tell front window of application process "System Preferences"
with timeout of 5 seconds
repeat until (exists checkbox "Use grayscale")
delay 0.1
end repeat
click checkbox "Use grayscale"
end timeout
end tell
quit
end tell
El siguiente problema es cómo desea ejecutarlo. El problema que rodea configurarlo como un servicio a través de Automator para usar un atajo de teclado sin el uso de una utilidad de terceros es que cada aplicación que recibe la combinación de teclas de atajo necesitará tener permiso para hacerlo y eso se convierte en un problema a menos que solo elija, por ejemplo. Finder en lugar de todas las aplicaciones. Entonces, sin una utilidad de terceros, lo guardaría como un script en la carpeta Users Script y luego accedería desde el menú Script en la barra de menú de Apple o como una aplicación.
La configuración del menú Script en la barra de menús de Apple se encuentra en las Preferencias de los Editores de Script. Entonces son solo dos clics del mouse en cualquier momento que desee alternar el estado de la casilla de verificación "Usar escala de grises". Uno para hacer clic en el menú Scripts y otro para hacer clic en el nombre del script.
Como aplicación, se puede colocar en el Dock y luego con un solo clic del mouse en cualquier momento que desee alternar el estado de la casilla de verificación "Usar escala de grises".
En cualquiera de estos dos casos, deberá otorgar permiso en Accesibilidad en la pestaña Privacidad de Seguridad y privacidad en Preferencias del sistema para ejecutarlo correctamente.
Como nota al margen, si usa un programa como FastScripts , solo necesita usar el código AppleScript de ejemplo como un .scpt guardado en Script Editor , no crear un servicio de Automator usando la solución mencionada en el comentario y puede asignar el atajo de teclado en las Preferencias para FastScripts .
Tenga en cuenta que no estoy afiliado con el desarrollador de FastScripts, solo soy un usuario satisfecho.
killall Finder
y killall Dock
obtener el nuevo archivo .icns para mostrar o un ciclo de cierre de sesión/inicio de sesión debería ser suficiente.Encontré una antigua discusión de Apple sobre esto y el usuario que respondió la pregunta publicó un archivo AppleScript que activará y desactivará la escala de grises. He modificado el código original para que funcione con OS X Yosemite.
Abra el "Editor de secuencias de comandos" y, en un documento nuevo, pegue lo siguiente:
tell application "System Preferences" to activate
delay 1
tell application "System Events"
tell process "System Preferences"
click the menu item "Accessibility" of the menu "View" of menu bar 1
delay 0.5
click the checkbox "Use grayscale" of window "Accessibility"
end tell
end tell
tell application "System Preferences" to quit
Haga clic en el martillo para compilarlo y luego guárdelo, pero donde dice "Formato de archivo" en el cuadro de diálogo Guardar, elija "Aplicación"
Antes de ejecutar este código, asegúrese de que se haya seleccionado "Mostrar" en Accesibilidad como se muestra en la imagen a continuación. Una vez hecho esto, puede salir de las Preferencias del sistema.
En la primera ejecución de la aplicación, se bloqueará y OS X le preguntará si desea permitir que la aplicación controle la computadora usando funciones de accesibilidad. Permita el acceso, salga de la aplicación y reiníciela.
A veces esto no funcionará y se bloqueará con un mensaje de error. Si esto sucede, simplemente reinícielo y funcionará bien.
EDITAR: Esto puede ayudar a convertirlo en un atajo de teclado: Enlace
Usé el script de la respuesta de @CreeperzEdge y tuvo un poco de retraso en mi computadora. He cambiado ligeramente ese script a:
tell application "System Preferences" to reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
tell application "System Preferences"
activate
tell application "System Events" to tell process "System Preferences"
click the checkbox "Use grayscale" of window "Accessibility"
end tell
end tell
tell application "System Preferences" to quit
De alguna manera
tell application "System Preferences" to reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
es más rápido que
tell application "System Preferences"
activate
reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
Sería curioso acerca de la experiencia de otros.
delay 1
línea. Lo guardé como una aplicación con un acceso directo a través del servicio Automator .Descubrí que se necesitaba un retraso de 1 segundo para que funcionara para mí.
tell application "System Preferences"
activate
reveal anchor "Seeing_Display" of pane "com.apple.preference.universalaccess"
delay 1
tell application "System Events" to tell process "System Preferences"
click the checkbox "Use grayscale" of window "Accessibility"
end tell
end tell
tell application "System Preferences" to quit
He creado una aplicación para facilitar este proceso. Le permite alternar la visualización en escala de grises desde la barra de estado. Es un envoltorio alrededor del AppleScript mencionado en las respuestas escritas usando PyObjC. Lo he probado para que funcione en macOS Mojave.
Puedes descargarlo desde aquí . El código fuente está aquí .
Nota : debido a las restricciones de Apple, la aplicación necesita tres tipos de permisos para funcionar: a) permitir abrir una aplicación de un desarrollador no identificado b) permitir el acceso a los eventos del sistema. c) permisos de accesibilidad.
Para cualquiera que se encuentre con este hilo con una Mac más nueva, modifiqué el AppleScript para hacer frente a la nueva interfaz de usuario de una pestaña:
tell application "System Preferences"
set the current pane to pane id "com.apple.preference.universalaccess"
delay 0.7 #needs time to open universal access
tell application "System Events" to tell process "System Preferences" to tell window "Accessibility"
select row 5 of table 1 of scroll area 1 #open display preferences
click radio button "Color Filters" of tab group 1 of group 1
click checkbox "Enable Color Filters" of tab group 1 of group 1
end tell
end tell
tell application "System Preferences" to quit
También creé una aplicación que hace esta tarea con 1 clic: Escala de grises . Si alguien quiere que haga una versión para versiones anteriores (High Sierra y anteriores), haga un comentario en esta publicación.
Nebulosa