2009-11-13 84 views
1

我想解決的問題很簡單。有沒有辦法通過Applescript掛鉤到OSX睡眠/喚醒事件?

當我打開我的MacBook的蓋子時,我喜歡在屏幕的左側有Dock,但是當我回到家後,將我的MacBook連接到我的Cinema顯示屏並設置了雙顯示器時,電影院的底部,而不是MacBook的左側。

我不想在每次連接/斷開我的Cinema顯示時都進入偏好設置。

我有一個問題的50%的解決方案,即我已經編寫了以下Applescript代碼來根據我的屏幕分辨率切換Dock的位置,但我必須手動調用它。

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 

我的問題是:

  • 我可以在鉤這個代碼中直接AppleScript的OSX睡眠/喚醒事件?有沒有什麼地方可以「註冊」腳本以便在我不知道的操作系統事件上調用?

  • 如果不是直接,有什麼其他選項掛鉤到OSX事件?

  • 對 有任何改善上述Applescript代碼的建議嗎?

謝謝。

回答