我正在專門為 LaunchBar設計一個自定義操作,以便可以從該實用程序啟動推文。由於Notification Center具有“單擊鳴叫”按鈕,因此我想知道Notification Center是否具有任何鉤子,這些鉤子可讓我編寫腳本而不用等待程序開發人員添加執行該操作的功能。
我正在專門為 LaunchBar設計一個自定義操作,以便可以從該實用程序啟動推文。由於Notification Center具有“單擊鳴叫”按鈕,因此我想知道Notification Center是否具有任何鉤子,這些鉤子可讓我編寫腳本而不用等待程序開發人員添加執行該操作的功能。
應用程序可以使用新的 NSSharingService API進入共享選項。可以使用任何UNIX可執行文件進行聽起來像的自定義LaunchBar操作,因此您可能會編寫一個小的命令行工具(或者您可能需要構建一個實際的應用程序-您必須對其進行測試out),將激活此API(使用 NSSharingServiceNamePostOnTwitter
),並應顯示tweet對話框。
更新:從AppleScript啟動tweet,您可以執行以下操作:
告訴應用程序“系統事件”告訴進程“通知中心”-如果(UI元素數)為1,則激活通知中心,然後單擊第一個菜單欄的第一個菜單欄項-單擊“ tweet”按鈕,然後單擊“ Window”末端告訴窗口的滾動區域1的表1的第2行的UI元素1的按鈕1。此外,您還可以切換“顯示”警報和橫幅” /請勿打擾模式: 告訴應用程序“系統事件”告訴進程“通知中心”按下選項單擊第一個菜單欄的第一個菜單欄項,然後按向上鍵end tellend tell
(這都是非常特定於Notification Center的當前窗口佈局的,很可能會隨著將來的OS X更新而中斷-但可能會有簡單的修復方法。)
我所不知道的(事實上,我認為在 notifications 區域內有一個Twitter / Facebook quick post 區域實際上是愚蠢的(實際上應該是一個小部件) ),並且我已將其關閉),但是您可以使用命令行發送已發送的推文,如 this網頁中所述,摘錄如下:
To顯示推文列表(用您選擇的Twitter用戶名替換osxdaily):
curl -s http://twitter.com/osxdaily | grep''|切-d“ >” -f2 |剪切-d“ <” -f1
要更新您的Twitter狀態:
curl -u your_user:您的密碼-d status ='這是我的更新'https://twitter.com/statuses/update.xml
更進一步,將我們到目前為止所學的內容匯總在一起,這是一條完全編程的推文:
tell應用程序“ System Events”告訴流程“ Notification Center”,單擊菜單菜單欄1的菜單項1單擊窗口“窗口”滾動區域1的表1表2行的UI元素1的按鈕1“推文的內容”擊鍵“ D”,使用{command down,shift down} end Tellend告訴
這當然很脆弱,但是現在可以了。我很想找到一個 real 鉤子,但是UI腳本是一種解決方法。
出色的命令切換D。
添加:
顯示對話框“ Tweet?”默認答案“”按鈕{“ OK”}默認按鈕1將mytweet設置為結果應用程序“ System Events”返回的文本,通知進程“ Notification Center”單擊菜單欄1的菜單欄項目1單擊第2行的UI元素1的按鈕1窗口“窗口”滾動區域1的表1擊鍵mytweet擊鍵“ D”,使用{command down,shift down}擊鍵空間結束
我寫了另一個腳本,解決了Ewwis發布的腳本中的某些問題:
儘管打開了通知中心側邊欄,但它不起作用。
設置對(顯示內容)返回的文本的答案對話框““默認答案”“)嘗試將剪貼板設置為舊,作為記錄結尾trytry,將文本項定界符設置為換行符,將剪貼板設置為答案的段落,作為文本告訴應用程序“系統事件”,告訴進程“通知中心”,單擊菜單欄項1菜單欄1嘗試在錯誤的窗口上單擊菜單欄1的菜單欄項目1單擊菜單欄1的菜單欄項目1結束嘗試單擊窗口1滾動區域1的表1的第2行的UI元素1的按鈕1使用命令“ av”使用{shift down,command down}向下擊鍵“ d”重複100次嘗試延遲0.1單擊菜單欄1的菜單欄項1退出重複結束結束嘗試結束重複告訴結束告訴結束嘗試將剪貼板設置為舊嘗試
僅使用API會更容易。
太棒了!感謝您以另一種方式向世界展示。
我的解決方案適用於我,但您的解決方案也適用。
我不是FAR的Applescript專家,但我喜歡擺弄它。
謝謝!
使用我從您那裡學到的知識,這是另一種對我有用的方法。這不能解決您對備用鍵盤或錯誤的某些擔憂,但是也許可以為涉足AS的人提供幫助。
顯示對話框“ Tweet?”默認答案“”按鈕{“ OK”}默認按鈕1和圖標2將mytweet設置為結果報告應用程序“ System Events”返回的文本,告訴進程“ Notification Center”單擊菜單欄1的菜單欄項目1單擊UI元素1的按鈕1窗口“窗口”滾動區域1的滾動表1的表1的第2行使用{command down,shift down}重複100次嘗試延遲0.1單擊菜單欄1的菜單欄項1退出重複結束嘗試結束重複結束Tellend告訴