Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

macOS 是個優秀的桌面操作系統,但作為生產力工具而言,卻依然有著這樣那樣的短板。這裡的「短板」倒不是說 macOS 系統有缺陷,而是它簡潔的面貌下,反而提供了一個廣闊的「可能性」—— 我們可以通過工具來對系統功能進行增強,從而定製出完全屬於自己的一整套操作習慣。就像是勞動人民掌握了工具一樣,生產效率自然也會大大提高。

而在這之中,能稱得上「神器」的系統增強工具不多,但 Keyboard Maestro 絕對是頂得上這個名號的。為什麼這麼說呢?

第一點是它真的強大到讓你難以想象。你所想要的許多擴展性功能,都可以通過它來自定義;其次就是它很輕量化,只有 24.4MB 的初始體積,完美詮釋了什麼叫「濃縮就是精華」;第三點,也是最重要的一點:它還能給你省不少錢。

沒錯,一個售價高達 36 美元(人民幣付款為 267.89 元)的軟件,還能給你省錢。因為一個 Keyboard Maestro 能做的可不是簡單地改改鍵位,或者做一些複雜的流程的自動化,它更可以替代多款收費的效率 / 工具軟件,一個頂幾個。

改鍵工具(如 Karabiner)

Karabiner 是一款在 macOS 上進行鍵盤映射的工具。而有了 Keyboard Maestro 之後,我們就可以通過 Macro 來對鍵盤進行映射和更改,實現和 Magic Keyboard 完全一樣甚至是超越原生鍵盤的第三方鍵盤體驗。

關聯閱讀:讓鍵盤變成你想要的樣子:改鍵利器 Karabiner-Elements

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

例如,我目前就將自己的 IKBC DC108 機械鍵盤的鍵位改成了下面這樣:

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

修改方法也很簡單。創建一個「hot key」為觸發項的 Marco,然後在 Actions 中找到「Simulate Hardware Key」拖到右側的「No Action」中,並在下面選擇你想要映射的按鍵即可。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

窗口管理工具(如 Mosaic / Magnet / Moom)

眾所周知,macOS 的窗口管理功能一直都不盡如人意,因而誕生了大量的窗口排列軟件,如 Mosaic / Magnet / Moom 這些。但實際上,Keyboard Maestro 同樣提供了一套窗口管理的 Action,而且還可以精確到屏幕像素的級別。

關聯閱讀:為什麼 Mosaic 是窗口管理的理想選擇

在 Keyboard Maestro 中,你可以通過一個簡單的 Marcos 來實現窗口管理。它默認提供了左右分屏、上下分屏、最大化、全屏和四角分屏,基本能涵蓋絕大部分的需求。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

如果你覺得這些還不能夠滿足,你也可以通過「SCREEN / SCREENVISIBLE」函數來對窗口進行精確的縮放和移動控制。

音頻切換工具(如 AudioSwitcher)

如果你像我一樣,有多個音頻播放設備,那麼如何進行音頻切換就是一個麻煩事。好在現在 macOS 已經可以實現點擊右上角的音量按鈕來選擇音頻輸出設備,不像以前一樣還要按住 option 鍵。但不管怎樣,這些操作都顯得不夠「優雅」。試想,只要你在鍵盤上按下一個按鍵,音頻播放設備就會自動切換,原本在揚聲器播放的音樂立刻就變成了從耳機輸出,是不是很爽?

App Store 中,有一款叫售價 6 元的 AudioSwitcher app 雖然可以實現這個功能,但它的操作方式並不友好,還偶爾有失靈的問題。而且它還有一個最大的問題,就是它還會創建一個難以刪除的音頻輸出選項,令強迫症無法忍受……

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

而 Keyboard Maestro 的實現方式則要有效且優雅許多。藉助 Keyboard Maestro 中的「Execute an AppleScript」,它便可以讓你在觸發某項條件時快速運行一個 AppleScript 腳本,從而達到目的。

首先,我們需要設置一個以快捷鍵為觸發選項的 Macro,並在 Action 中拖入「Execute an AppleScript」,然後複製以下的音頻輸出切換腳本(記得刪除代碼裡的「-- XXXX」註釋文字):

tell application "System Events" to tell process "SystemUIServer"
tell (menu bar item 1 of menu bar 1 whose description contains "volume")
click
set target to "LG HDR 4K" -- 修改為要切換設備的名稱
set alternative to "MacBook Pro 揚聲器" -- 修改為要切換設備的名稱
set retry to 1 -- 重試次數,可為 0
set interval to 1 -- 重試間隔(秒),可為小數
if exists (menu item 1 of menu 1 whose title is target and value of attribute "AXMenuItemMarkChar" is "✓") then
set target to alternative
end if
repeat with counter from 0 to retry
try
click (menu item target of menu 1)
exit repeat
end try
if counter < retry then
delay (interval)
else
key code 53
end if
end repeat
end tell
end tell

設置完成後,當你按下對應的按鍵,就可以立刻切換到另一個音頻輸出設備上進行播放了。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

插個故事:一鍵切換音頻的這個想法是在看到了王自如的 Office Tour 之後誕生的,大概是 2016 年初。當時用了 Automator(俗稱「扛炮機器人」)+ Karabiner 來實現,還在 Zealer+ 論壇寫了一篇很長的文章,但是後來 Zealer+ 關閉了,文章也找不回來了。現在的這個腳本是我派作者 JayQi 所寫,實現的方式和數量都比我初改的要好,因此要特別感謝一下他。

防誤退出工具(如 SlowQuitApps)

誤觸 Command + Q,確實是一件讓人頭大的事情。比如當你想要用 Command + W 關閉一個 Safari 窗口時,一不小心手抖按到了旁邊的 Q,就把所有窗口都給關掉了,這種體驗真的是很難受……

而且,「手抖黨」似乎也不是隻有我一個人,看來大家都對 Command + Q 這個按鍵感到了無奈,不然就不會有這麼多防止誤按 Command + Q 的 app 出現了吧……

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

不過有了 Keyboard Maestro,這些 app 你統統都不需要了。不僅如此,你還可以根據自己的需求,設置哪個 app 需要退出確認,哪一些則可以直接退出。

這裡需要使用的就是 Keyboard Maestro 裡的「IF」條件判斷。創建一個叫「防手抖」的 Macro,在上面的「New Trigger」中選擇「Hot Key Trigger」,並將快捷鍵設為 Command + Q。

然後,拖一個「If Then Else」的 Action 到右邊,在下面的「New Condition」中選擇「Application Condition」。接著,選擇需要退出提醒的 app,並按照下圖所示,在下方加入一個 Alert 給予提示,然後再在下面用「Type a Keystroke」Action 來模擬按下 Command + Q。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

這樣一來,在你按下 Command + Q 之後,Keyboard Maestro 就會運行一次「防手抖」,如果是你選中的 app,就會提醒你確認之後再退出,而不需要確認的則會正常立刻退出。

應用切換工具(如 Manico)

macOS 也提供了一種類似 Windows 的 app 切換快捷鍵:Command + Tab。但是一旦 app 開啟的數量較多,切換起來就變得異常麻煩,需要不停地按 Tab,不僅繁瑣,效率也大打折扣。而 Manico 這類軟件就是為了解決這個問題誕生的。它不僅可以快速地在打開的 app 間進行切換,如果你沒有打開對應的應用,Manico 還可以幫你打開。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

不過,有了 Keyboard Maestro 之後,Manico 大概率就要失業了……除了有個好看的界面之外,前者在功能上基本可以替代後者。

創建一個 Marco,選擇觸發行為為「Hot Key Trigger」,然後輸入你想要啟動對應 app 的快捷鍵,接著在左邊找到「Activate a Specific Application」並拖到右邊進行設置,在「Activate」旁選擇你需要切換到前臺的 app,並勾選下面的兩個選項,就可以通過指定的快捷鍵快速切換窗口。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

剪貼板工具(如 Paste)

Paste 是一款 macOS 上顏值相當高的剪貼板軟件,但它對空間的佔用卻「令人髮指」。其實和上面一樣,Keyboard Maestro 也有一套剪貼板記錄工具,除了沒 Paste 好看之外,其他啥都不差。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

這裡的設置相當簡單,只需要創建一個 Marco 並設定快捷鍵,然後在 Action 中選擇「Activate Clipboard History Switcher」即可。用法和 Paste 類似,複製時自動記錄,雙擊即可粘貼。

Mac 上的自動化「神器」,用了之後這些 App 再也不用單獨裝

OCR 工具(如 iText)

是的……你沒看錯,Keyboard Maestro 甚至還能替代 iText 進行 OCR 文字識別。當然了,識別的工作它幹不了,但通過調用百度的 OCR API,便可以讓 Keyboard Maestro 獲得此等「神功」。

而且對比與 iText 免費版只有每月 20 次的限制,Keyboard Maestro + 百度 OCR API 每天可以免費調用 5 萬次……

具體的操作方式和過程這裡就不多在複述,大家可以按照 這篇文章,相信也能理解。不過要運行這個 Marco,需要兩個前提條件:一是需要安裝 Python 3,二是要註冊百度雲的 API。好在這兩個並不麻煩,而且教程也寫得很詳細。

結語

其實,藉助 AppleScript 和 Shell Script,Keyboard Maestro 可以替代的可不僅僅只是上面這些 app。例如使用 exiftool 或 mogrify 就可以做成一個一件清除照片 exif 的工具,幹掉 Photo Zapper 這一類的 app。但限於篇幅長度,這裡就不再舉例,可以爬一爬 Keyboard Maestro Wiki 和對應的命令 Wiki 自己鼓搗。

總之,270 元的 Keyboard Maestro,給你換來的是無盡的想象力,畢竟「Maestro」這個名字可不是白叫的。


分享到:


相關文章: