01/02/07

Des morceaux d'AppleScripts...

AppleScript

Bon, je crois qu'il va falloir s'y faire… je commence à particulièrement apprécier AppleScript, j'en parlais maladroitement[1] dans un précédent billet : Color Picker et Choose Color, je commençais à entrevoir les possibilités offertes par ce langage de programmation simplifié[2].

Le "Choose Color" est assez génial, et je m'en sers couramment… entre temps, pour m'amuser et découvrir un peu plus par moi même, j'avais réalisé un petit AppleScript pour démarrer Firefox en safe mode, c'est peu utile, pas très complexe… mais bon, faut bien commencer par quelque chose :lol:

Alors que dernièrement, je faisais quelques recherches pour développer quelque chose d'un peu plus complexe, j'ai parcouru quelques pages intéressantes, j'ai décidé de faire un petit condensé.

System Events

tell application "System Events"
  if exists process "KeyboardViewerServer" then
    try
      quit application "KeyboardViewerServer"
    end try
  end if
end tell

Trouvé sur macosxhints.com : Restore the Key Caps application via AppleScript. Vérifie si une application est lancée avant de la quitter le cas échéant (très utile).

Manipuler le Terminal avec ApppleScript

on downloadDmg()
    tell application "Terminal"
        do script "cd
wget http://131.188.3.71/pub/mozilla.org/camino/nightly/latest/Camino.dmg"
        set the size of window 1 to {400, 300}
        set the position of window 1 to {100, 30}
        repeat
            delay 1
            if (get busy of window 1) is equal to false then
                close window 1
                exit repeat
            end if
        end repeat
    end tell
end downloadDmg

J'ai trouvé tout particulièrement intéressant : AppleScript: Download Latest Camino Nightly Build pour l'utilisation du terminal, la manipulation des propriétés des fenêtres, etc.

Tuer un processus résident

tell application "Terminal"
	do script with command "killall iChat"
	do script with command "killall iChatAgent"
	do script with command "open /Applications/iChat.app"
	delay 10
	close every window
end tell

Même si on n'utilise pas iChat[3] ;) on peut consulter consulter cette page : Caressez votre iChat dans le sens du poil puisque le sujet de mettre fin à un processus résident[4] y est abordé et que ce genre de processus ne semble pas accessible avec "System Events".

AppleScript : tester l'existence d'un fichier

set theresult to false
try
	set theInfo to info for POSIX file thePath
	set theresult to true
end try

Soit thePath le chemin complet et theResult le boléen d'existence, theResult devient vrai si le fichier existe.

Trouvé sur les forums de MacGeneration.

Manuel AppleScript

Après quelques efforts, j'ai enfin trouvé de la documentation (officielle) :
Mac Help Guide (AppleScript) et plus complet AppleScript Guides.

Voilà qui devrait me faciliter la tâche à l'avenir :happy:

Notes

[1] en effet, le billet contient peut être de petites approximations (qui devraient être fixées d'ici peu)

[2] j'ai quelques connaissances en PHP notamment... donc ça aide un peu

[3] personnellement, je préfère Adium

[4] ou tâche de fond ou "daemon"

RSS commentaires

  1. 4
  2. I
  3. R
  4. Z
  5. G
  6. 8

Pour valider le formulaire, saisissez les 3 premiers caractères de la série

  • caca
  • confused
  • cry
  • dizzy
  • happy
  • lol
  • neutral
  • omg
  • sad
  • smile
  • tongue
  • wink