J'hésite à en faire un sujet dédié, mais je pense que le titre du sujet est assez large pour vous proposer ici mon astuce, qui passe par un AppleScript.
Personnellement, j'ai une liste d'applications que j'aime avoir en permanence en plein écran (avec leur espace dédié), mais il arrive parfois que l'une d'entre elle ne le soit pas (comme Safari qui a, comme indiqué précédemment, tendance à n'en faire qu'à sa tête ou bien Pulp - lecteur de flux RSS - qui se lance systématiquement en mode "normal").
Aussi j'ai imaginé un AppleScript qui, selon si une application tourne et si elle affiche une fenêtre en mode "normal", active le mode plein écran pour cette application. Combiné à un raccourci Alfred, je déclenche ce script dès qu'une mutinerie pointe son nez pour y mettre bon ordre.
Voici le plus élégant des scripts auxquels j'ai abouti :
Bloc de code:
set AppList to {"Pulp", "Safari", "iTunes", "iCal", "Mail"}
repeat with CurrentApp in AppList
tell application "System Events"
tell process CurrentApp
try
set value of attribute "AXFullScreen" of window 1 to true
end try
end tell
end tell
delay 2
end repeat
Cependant, la valeur "AXFullScreen" semble ne conserver en mémoire la valeur que de la première application qui aura eu besoin de passer en plein écran.
Quelques exemples :
- Si Pulp n'est pas en plein écran, ce script le fait passer correctement en plein écran mais pas les apps suivantes.
- Si Pulp et Safari sont en plein écran mais pas les suivantes, iTunes passera effectivement en plein écran mais ni iCal, ni Mail.
Si quelqu'un a une idée sur ce problème, elle est la bienvenue.
Je tiens aussi à votre disposition un autre script pour le même effet mais seulement partiellement fonctionnel également : il vérifie la présence d'une fenêtre plein écran, et si non envoie la commande par keystroke (raccourci clavier). Il a très bien fonctionné pendant quelques minutes puis s'en est allé...