Comment piloter les tableaux de préférences avec AppleScript ?

SEScriptEditorX

 

Il peut être utile dans un script d’afficher automatiquement un tableau de préférences. Vous pourriez envoyer à un ami, collègue un petit script capable d’afficher un panneau de préférences afin de le guider, ou plus directement créer un raccourcis clavier vers un de ces panneaux. 

 

Attention nous ne parlons pas de modifier une préférence mais de l’afficher. Cette fonction n’est pas documentée. Il existe pourtant une astuce qui autorise cette opération.

 

Les lignes de script à utiliser sont les suivantes  :

tell application "System Preferences" activate reveal pane "com.apple.preferences.users" end tell

 

Le script est simple, La première et dernière ligne définissent un bloc « tell », il s’agit de l’application cible, ici « System Preferences ». La seconde ligne « Activate » fait passer cette application au premier plan devant tous les programmes ouverts. Enfin « reveal pane » affiche le tableau de préférence désigné entre guillemets. 

 

 

Capture d écran 2012 12 29 à 18 08 29

 

 

Le nom du panneau est présenté en notation Java ou domaine inversé. Pour les produits apple il s’agit toujours du préfixe « com.apple.preference » puis du nom en Anglais du tableau, voici une liste partielle  : 

 

Préférences Système  : com.apple.preference.general

Clavier  : com.apple.preference.keyboard

Sécurité  : com.apple.preference.security

Son  :  com.apple.preference.sound 

Réseau  :  com.apple.preference.network

Imprimante et Fax  : com.apple.preference.printfax

Parole  : com.apple.preference.speech

Date et heure  : com.apple.preference.datetime

 

Les panneaux de préférences livrés avec Mac OS X se trouvent dans le dossier  : «  System/Library/PreferencePanes « .

(Attentions aux « s » parfois à la fin du mot « préférence » ou à la fin du nom du tableau comme pour « Displays »).

 

Si vous souhaitez lancer des panneaux d’autres applications, le plus simple est de récupérer le nom des fichiers de préférences ou Plist, ceux-ci correspondent en général au nom du tableau.

 

Pour être plus précis, vous pouvez demander à afficher un onglet, là la quête d’information est encore plus difficile, car il faut trouver le nom de l’onglet en Anglais, Apple n’ayant pas standardisé le nomination… il faut explorer les « packets «  de chaque panneau.

 

Voici comment afficher l’onglet « Couleur » du panneau « Moniteurs »  :

 

tell application « System Preferences »

   activate

   reveal anchor « displaysColorTab » of pane id « com.apple.preference.displays »

end tell

 

Nous avons ajouté le nom de l’onglet après « anchor » et le mot « of » pour « de ». Remplacez « displaysColorTab » par « displaysDisplayTab » pour afficher l’onglet des résolutions.

 

Quelques exemples à placer dans le script :

 

– Le panneau de préférences de l’économiseur d’écran  : 

reveal anchor « DesktopPref » of pane id « com.apple.preference.desktopscreeneffect »

 

– Le panneau de préférences de Clavier et l’onglet « raccourcis clavier »

reveal anchor « shortcutsTab » of pane id « com.apple.preference.keyboard »

 

Henri Dominique Rapin 

AppleScript :: Comment Identifier les panneaux de préférences ?

SEScriptEditorX

Comment Identifier les panneaux de préférences ?

« Préférences systèmes » est une application comme les autres, elle a la particularité d’être scriptable. Elle opère comme un réceptacle à « panneaux de préférences ». Apple modifie l’organisation à chaque sortie de nouvelle version du félin. Il faut donc revoir le nom et le contenu des panneaux de préférences. La première étape consiste à identifier les panneaux.

 Il existe deux approches afin d’identifier les panneaux de préférences disponibles dans Mac OS X. La première consiste à récupérer les noms des panneaux :

tell application "System Preferences"
name of every pane
end tell

Vous récupérerez la liste des panneaux  localisés comme ceci (Mountain Lion):

{« Accessibilité », « Bluetooth », « Bureau et  éco. d’écran », « CD et DVD », « Clavier », « Contrôle parental », « Date et heure », « Démarrage », « Dictée et Parole », « Dock », « Économiseur d’énergie », « Général », « Hazel », « iCloud », « Imprimantes et scanners », « Langue et texte », « Mail, Contacts et Calendrier », « Mise à jour de logiciels », « Mission Control », « Moniteurs », « Notifications », « Partage », « Réseau », « Sécurité et confidentialité », « Son », « Souris », « Spotlight », « Time Machine », « Trackpad », « Utilisateurs et groupes »}

 Remarquez qu’un panneau s’est glissé dans cette liste « Hazel », il s’agit d’un utilitaire très pratique et non livré par Apple.

L’utilisation des noms des panneaux n’est pas forcement une bonne approche en particulier si vous développez des scripts à destination d’utilisateurs non francophones. Il est conseillé d’employer l’ID du panneau de préférences, il s’agit du nom du panneau dans le système :

 Voici le script :

tell application "System Preferences"       id <strong>of</strong> <strong>every</strong> <em>pane</em> <strong>end</strong> <strong>tell</strong>

Le résultat sera le suivant (toujours sur Mountain Lion) :

{« com.apple.preference.universalaccess », « com.apple.preferences.Bluetooth », « com.apple.preference.desktopscreeneffect », « com.apple.preference.digihub.discs », « com.apple.preference.keyboard », « com.apple.preferences.parentalcontrols », « com.apple.preference.datetime », « com.apple.preference.startupdisk », « com.apple.preference.speech », « com.apple.preference.dock », « com.apple.preference.energysaver », « com.apple.preference.general », « com.noodlesoft.Hazel », « com.apple.preferences.icloud », « com.apple.preference.printfax », « com.apple.Localization », « com.apple.preferences.internetaccounts », « com.apple.preferences.softwareupdate », « com.apple.preference.expose », « com.apple.preference.displays », « com.apple.preference.notifications », « com.apple.preferences.sharing », « com.apple.preference.network », « com.apple.preference.security », « com.apple.preference.sound », « com.apple.preference.mouse », « com.apple.preference.spotlight », « com.apple.prefs.backup », « com.apple.preference.trackpad », « com.apple.preferences.users »}

 Là encore panneau d’Hazel est présent avec la notation « java », qui commence par le domaine, le nom de la société et le nom du panneau.

 (fin de la partie 1)

Henri Dominique Rapin

Mountain Lion :: Comment supprimer le Dashboard ?

FinderLe Dashboard est cet espace où sont regroupés tous les Widgets. Ce sont des petites applications qui servent à fournir une information le plus souvent obtenue à partir d’internet. Certains diront qu’elles sont passées de mode, mais elles rendent encore de très bon service.

Depuis Mac OS X Lion, ces Widgets sont regroupés sur un seul bureau virtuel du nom de « Dashboard » alors qu’auparavant elles pouvaient se retrouver sur n’importe quel écran. Vous pouvez supprimer le Dashboard en modifiant les préférences de « Mission Control ».

Ouvrez le panneau « Mission Control » puis décochez la première ligne intitulée « Afficher Dashboard comme un espace ».

Image 02 (Panneau de préférence Mission Control dans Mountain Lion)