2009-11-13 5 views
1

Le problème que j'essaie de résoudre est assez simple. Lorsque j'ouvre le couvercle de mon MacBook, j'aime bien avoir le Dock sur le côté gauche de l'écran, mais quand je rentre à la maison et que je connecte mon MacBook à mon écran Cinema et que j'installe deux moniteurs, je veux que le dock le fond du Cinéma, pas sur le côté gauche du MacBook.Existe-t-il un moyen de se connecter aux événements de veille/de veille OSX via Applescript?

Je ne veux pas avoir à entrer dans les préférences chaque fois que je connecte/déconnecte mon écran Cinema.

J'ai une solution pour 50% du problème, à savoir, j'ai écrit le code Applescript suivant pour changer l'emplacement du Dock en fonction de ma résolution d'écran, mais je dois l'invoquer manuellement.

tell application "Finder" 
-- Determine Resolution 
    set screenSize to bounds of window of desktop 
    set screenWidth to item 3 of screenSize 
    set screenHeight to item 4 of screenSize 
end tell 
if screenWidth is less than 1900 then  
    --MacBook Display  
    tell application "System Events"  
     tell dock preferences    
      set properties to {magnification:true, screen edge:left} 
     end tell 
    end tell 
else 
    --Cinema Display 
    tell application "System Events" 
     tell dock preferences 
      set properties to {magnification:true, screen edge:bottom} 
     end tell 
    end tell 
end if 

Mes questions sont les suivantes:

  • Puis-je accrocher ce code dans les événements de sommeil/éveil OSX directement dans AppleScript? Y a-t-il un endroit où vous pouvez "enregistrer" des scripts à invoquer sur les événements du système d'exploitation dont je n'ai pas connaissance?

  • Si ce n'est pas directement, quelles sont les autres options d'accrochage aux événements OSX?

  • Avez-vous des recommandations pour améliorant le code Applescript ci-dessus?

Merci.

Répondre