Comment faire clignoter l'écran depuis la ligne de commande


6

Est-il possible de faire clignoter l'écran à partir de la ligne de commande? Je recherche le même effet que Accessibility pour "Faire clignoter l'écran lorsqu'un son d'alerte se produit", mais je ne le veux pas à chaque alerte.

Réponses:


6

Autant que je sache, vous ne pouvez pas répliquer cette alerte sans activer cette option. Si vous activez cette option, vous pouvez provoquer un flash de Terminal en utilisant:

osascript -e "beep"

Toutefois, si vous ne souhaitez pas activer cette option, vous pouvez utiliser l'inversion des couleurs. Si vous utilisez l'option Accessibilité inverser les couleurs deux fois, l'écran clignote. Par conséquent, si vous appuyez deux fois sur le raccourci clavier 8, un flash se produira:

#!/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

L'invert est une bonne alternative. Merci.
studgeek

Je me demande si le script peut vérifier si le paramètre actuel est un bip ou un clignotement, puis modifiez-le si nécessaire, appelez le "bip" puis modifiez-le (uniquement s'il a été modifié?).
bmike

On dirait que cette autre réponse a trouvé une implémentation encore meilleure de mon commentaire de code ci-dessus. apple.stackexchange.com/a/288696/5472
bmike

3

Il ne clignote pas tout l’écran (sauf si le terminal est réglé sur plein écran), mais si vous allez à Preferences > Settings > Advanced et sélectionnez "Visual Bell", vous pouvez alors taper:

echo ^G

(Les frappes pour obtenir les caractères corrects sont: echo contrôle + v contrôle + g parce que le caractère de contrôle doit être cité)

faire clignoter la fenêtre du terminal.


1
Bien que cela fonctionne, l’effet est très subtil sur mon profil de terminal par défaut.
grg

Une autre option est printf '\a'.
zneak

1

Pour d’autres, une alternative que j’ai trouvée est d’utiliser le outil de ligne de commande de luminosité , disponible via homebrew (vous pouvez trouver des instructions pour l’installer à partir de http://brew.sh ). Lien vers la discussion: https://apple.stackexchange.com/a/127258/23876

La première ligne installe la luminosité, la seconde vous montre à quoi ressemble la luminosité en action.

brew install brightness
brightness 0; sleep 1; brightness 1

Cependant, cela ne fonctionne que sur l'écran principal. Si cette forme de commutation de la luminosité est trop lente pour vous, faites des essais avec sommeil 0.3 ou même sommeil 0.1.


quelque chose manque ?
Buscar웃

Qu'est-ce qui manque @Buscar?
studgeek

Je l'ai fatigué, et cela ne fonctionne pas sur mon MBA 10.9.2 Erreur -bash: screenbrightness: commande introuvable
Buscar웃

@Buscar 웃 La raison en est que vous n'avez pas réellement d'application appelée screenbrightness. Ce que vous pouvez faire, c'est installer Homebrew ( brew.sh ), puis effectuez une "installation de la cafetière" - puis exécutez "luminosité 0; sommeil 1; luminosité 1" - par exemple.
esaruoho

1

Cela fonctionne pour moi dans Sierra via 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"

Solution très élégante. J'avais suggéré une autre réponse pour modifier réellement les paramètres (si nécessaire), appeler un bip et modifier les paramètres. cela semble beaucoup mieux pour obtenir un flashs.
bmike

@bmike Le problème, c’est qu’il faut un certain nombre de secondes pour s’exécuter, surtout si l’application n’est pas ouverte en premier, elle est sans aucun doute élégante, à part ça
grg

En effet, @grgarside - pour la rapidité ici, vous aurez probablement besoin d’utiliser python et les liaisons objective-c pour écrire ce qui est essentiellement une petite application cacao pour accélérer le paramétrage ou accélérer l’appel de la fonction.
bmike

0

C'est un script shell qui appelle applescript pour le faire (le code doit être expliqué plus en détail)

#!/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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.