2012-07-28 203 views
4

我想製作一個AppleScript來自動完成在MacBook Pro Retina上切換分辨率的任務。Applescript API文檔

在互聯網上搜索「applescript系統偏好」我遇到了a page,其中顯示了一些偏好。作爲新的縮放分辨率的東西,它沒有記錄。

這給AppleScript帶來了一個更大的問題(請注意,除了複製粘貼某些我從未真正編寫過的內容外)。例如,文檔告訴我,系統首選項對象實際上被稱爲「系統首選項」,它具有名爲「窗格」的對象,它們有一個ID並且公開ID爲「com.apple.preference 。暴露」?

似乎每個程序都必須有某種「祕密」文檔,它們必須很大,映射所有對象層次結構和可能的操作。最後,AppleScript核心是最小的,你所做的就是操縱這些程序。但他們在哪裏記錄?

回答

5

確定這是如何工作的:

在哪裏,告訴我,例如,塔系統偏好設置對象的文件實際上是所謂的「系統偏好設置」

的對象稱作「系統首選項」,因爲這是應用程序的確切名稱。什麼你告訴AppleScript的使用,這是我想給應用說話命名系統預置tell application "System Preferences" ...

,它已對象名爲「窗格」

現在是最有趣的部分。如果你打開你的庫窗口(在Applescript編輯器中,Window> Library),你會看到有一個可用的腳本應用程序集合,事情是'系統首選項'不存在。所以讓我們來找到它:File> Open Dictionary> System Preferences。現在你有一個窗口,可以讓你深入瞭解應用程序的所有可用的類/命令/屬性,還有一個包含相關文檔的拆分窗口(如果你點擊SSystem Preferences你會看到Cpane並點擊你會看到Pid等)。窗格的id再一次是窗格的名稱(小寫和連接 - 我仍在查看文檔以獲得嚴格的定義)。我希望這會讓你開始。


小號:套房 Ç:類 P:房產 (一圓圈內的 'C' 代表 Command

3

你完全正確。每個程序都有自己的applescript文檔。它被稱爲它的applescript字典。您可以通過以下任何一種方式查看任何應用程序的字典...

1)在AppleScript編輯器的文件菜單下,選擇「打開字典...」。你可以從那裏選擇一個應用程序,它會顯示它的字典。

2)將應用程序拖放到AppleScript編輯器的圖標上。

3)有一個快速訪問的常用詞典列表。在AppleScript編輯器的窗口菜單下選擇「庫」。您可以雙擊該列表中的應用程序。您還可以修改該列表以包含您想要在列表中的字典。

祝你好運。

0

你可以問的AppleScript告訴你爲每個的ID窗格。

tell application "System Preferences" to get the id of every pane 

這特別方便,因爲它會告訴您已安裝的任何第三方偏好窗格的ID。例如,我能夠確定我的Microsoft Natural鍵盤的窗格被稱爲com.microsoft.microsoftkeyboard

我還沒有真正探索過這麼多,但我期望類似的語法存在以識別任何腳本化應用程序中的對象。