Après de nombreuses recherches, je n'ai pas trouver aucun complément de
pilotage gratuit permettant de modifier la résolution de l'écran
fonctionnant sur Mac OS X.
Le seul complément de pilotage que j'ai trouvé est "Extra Suites" de chez
www.kanzu.com . Malheureusement, il n'est pas gratuit.
Toutefois, voici une méthode qui permet de modifier toute l'interface du Mac
et de piloter des applications qui ne sont pas scriptables. Au passage, elle
nous servira à modifier résolution de l'écran par Applescript.
Cette méthode fait appel à la possibilité de scripter directement
l'interface de Mac OSX par l'accès aux périphériques d'aide.
Tout d'abord lisez la page suivante:
http://www.apple.com/applescript/uiscripting/index.html pour bien en
comprendre le principe et télécharger l'utilitaire UIElementInspector. Il
vous sera d'un grand secours pour scripter d'autres parties de l'interface
Mac OS X.
La réalisation du script est maintenant aisée: Il suffit de modifier la
ligne sélectionnée de la résolution écran dans les préférences système.
Pour cela repérons la hiérarchie de la ligne de résolution visée dans les
préférences système grâce à l'utilitaire UIElementInspector
Ce qui nous donne:
<AXApplication: ³Préférences Système²>
<AXWindow: ³iMac²>
<AXTabGroup>
<AXGroup>
<AXScrollArea>
<AXTable>
<AXRow>
<AXTextField>
Actions:
AXShowMenu - Afficher le menu
AXConfirm - confirmer
Comme vous pouvez le constater, nous n'avons pas l'index pour Tab Group,
Group, Scroll area, etc. Nous ne connaissons que la hiérarchie des objets et
le nom de la fenêtre
Un petit script nous permettra de nous en sortir:
tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.displays"
end tell
tell application "System Events"
tell process "System Preferences"
tell window "iMac"
get entire contents
end tell -- window
end tell -- application process
end tell -- "System Events"
Parmi les résultats, nous observons les lignes suivantes:
text field 1 of row 1 of table 1 of scroll area 1 of group 1 of tab group 1
of window "iMac" of application process "System Preferences" of application
"System Events".
Même chose pour row 2 et row 3
Voyons ce que contient row 2:
tell application "System Events"
get value of text field 1 of row 2 of table 1 of scroll area 1 of group
1 of tab group 1 of window "iMac" of application process "System
Preferences" of application "System Events"
end tell
Le résultat est "800 x 600" ! C'est tout à fait ce que nous recherchons.
Il ne reste maintenant plus qu'à activer cette résolution:
tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.displays"
end tell
tell application "System Events"
set selected of row 2 of table 1 of scroll area 1 of group 1 of tab
group 1 of window "iMac" of application process "System Preferences" to true
end tell -- "System Events"
Voila ! Le tour est joué et la résolution de l'écran changée.
Vous pourrez utiliser cette méthode dans tous les cas où vous souhaitez
piloter une application qui n'est pas directement scriptable. Il faut être
patient mais le résultat est à la hauteur de l'attente.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
laurent.pertois
pasizaire wrote:
Après de nombreuses recherches, je n'ai pas trouver aucun complément de pilotage gratuit permettant de modifier la résolution de l'écran fonctionnant sur Mac OS X.
Et la commande que je t'ai donné ? tu peux l'intégrer dans un AppleScript enregistré sous forme de bundle Mac OS X et avec 'do shell script'.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
pasizaire <pasizaire@free.fr> wrote:
Après de nombreuses recherches, je n'ai pas trouver aucun complément de
pilotage gratuit permettant de modifier la résolution de l'écran
fonctionnant sur Mac OS X.
Et la commande que je t'ai donné ? tu peux l'intégrer dans un
AppleScript enregistré sous forme de bundle Mac OS X et avec 'do shell
script'.
--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.
Après de nombreuses recherches, je n'ai pas trouver aucun complément de pilotage gratuit permettant de modifier la résolution de l'écran fonctionnant sur Mac OS X.
Et la commande que je t'ai donné ? tu peux l'intégrer dans un AppleScript enregistré sous forme de bundle Mac OS X et avec 'do shell script'.
-- Politically Correct Unix - UTILITIES The "touch" command has been removed from the standard distribution due to its inappropriate use by high-level managers.
pasizaire
Le 27/02/07 0:13, dans 1hu634r.1la38p710ageltN%, « Laurent Pertois » a écrit :
pasizaire wrote:
Après de nombreuses recherches, je n'ai pas trouver aucun complément de pilotage gratuit permettant de modifier la résolution de l'écran fonctionnant sur Mac OS X.
Et la commande que je t'ai donné ? tu peux l'intégrer dans un AppleScript enregistré sous forme de bundle Mac OS X et avec 'do shell script'. Oui, c'est vrai cela peut se faire.
Toutefois, je n'ai pas encore touché à la compilation sur Mac.
J'ai trouvé la solution que je propose un peu plus générique car elle permet de piloter d'autres aspects du mac que ce soit au niveau du système que des applications tierces.
Patrick
Le 27/02/07 0:13, dans
1hu634r.1la38p710ageltN%laurent.pertois@alussinan.org, « Laurent Pertois »
<laurent.pertois@alussinan.org> a écrit :
pasizaire <pasizaire@free.fr> wrote:
Après de nombreuses recherches, je n'ai pas trouver aucun complément de
pilotage gratuit permettant de modifier la résolution de l'écran
fonctionnant sur Mac OS X.
Et la commande que je t'ai donné ? tu peux l'intégrer dans un
AppleScript enregistré sous forme de bundle Mac OS X et avec 'do shell
script'.
Oui, c'est vrai cela peut se faire.
Toutefois, je n'ai pas encore touché à la compilation sur Mac.
J'ai trouvé la solution que je propose un peu plus générique car elle permet
de piloter d'autres aspects du mac que ce soit au niveau du système que des
applications tierces.
Le 27/02/07 0:13, dans 1hu634r.1la38p710ageltN%, « Laurent Pertois » a écrit :
pasizaire wrote:
Après de nombreuses recherches, je n'ai pas trouver aucun complément de pilotage gratuit permettant de modifier la résolution de l'écran fonctionnant sur Mac OS X.
Et la commande que je t'ai donné ? tu peux l'intégrer dans un AppleScript enregistré sous forme de bundle Mac OS X et avec 'do shell script'. Oui, c'est vrai cela peut se faire.
Toutefois, je n'ai pas encore touché à la compilation sur Mac.
J'ai trouvé la solution que je propose un peu plus générique car elle permet de piloter d'autres aspects du mac que ce soit au niveau du système que des applications tierces.