¿Hay alguna manera de flashear la pantalla desde la línea de comando? Estoy buscando el mismo efecto que hace Accesibilidad para "Flash de la pantalla cuando se produce un sonido de alerta", pero no lo quiero para cada alerta.
Hasta donde yo sé, no puede replicar esta alerta sin habilitar esa opción. Si habilita esa opción, puede provocar un flash desde la Terminal usando:
osascript -e "beep"
Sin embargo, si no desea habilitar esa opción, puede usar colores invertidos. El uso de la opción de Accesibilidad de colores invertidos dos veces hace que la pantalla parpadee, por lo tanto, al presionar el método abreviado de teclado ⌃⌥⌘8 dos veces, se producirá un parpadeo:
#!/usr/bin/osascript
tell application "System Events" to repeat 2 times
key code 28 using {command down, control down, option down}
delay 0
end repeat
No parpadea toda la pantalla (a menos que tenga el terminal configurado en pantalla completa), pero si va Preferences > Settings > Advanced
y selecciona "Visual Bell", puede escribir:
echo ^G
(Las pulsaciones de teclas para obtener los caracteres correctos son: ++ echo
controlporque el carácter de control tiene que estar entrecomillado)v controlg
para mostrar la ventana de la terminal.
printf '\a'
.Esto funciona para mí en Sierra a través de applescript:
tell application "System Preferences"
run
reveal anchor "Hearing" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events" to tell process "System Preferences" to click button "Test Screen Flash" of window "Accessibility" of application process "System Preferences" of application "System Events"
Para otros, una alternativa que he encontrado es usar la herramienta de línea de comandos de brillo , disponible a través de homebrew (Puedes encontrar instrucciones sobre cómo instalarla en http://brew.sh ). Enlace a la discusión: https://apple.stackexchange.com/a/127258/23876
La primera línea instala Brillo, la segunda muestra cómo se ve el brillo en acción.
brew install brightness
brightness 0; sleep 1; brightness 1
Sin embargo, solo funciona en la pantalla principal. Si esta forma de cambio de brillo es demasiado lenta para usted, experimente con el modo de suspensión 0.3 o incluso con el modo de suspensión 0.1.
También puede obtener el brillo actual para que no se restablezca a 1
:
setopt rematchpcre # needs zsh
if [[ "$(brightness -l)" =~ 'display 0: brightness (\S+)' ]]; then
print -r -- "$match[1]"
else
return 1
fi
Este es un shellscript que llama a applescript para hacer esto (el código debe explicarse más)
#!/usr/bin/osascript
tell application "System Events" to repeat 2 times
key code 28 using {command down, control down, option down}
delay 0
end repeat
bmike
bmike