如何自動讓 Finder 合併所有視窗

引言(Introduction)

Mac 的 Finder 在使用多個視窗時,可能會讓用戶感到困擾,因為當 Finder 視窗越來越多時,容易讓人迷失在視窗之間,無法迅速找到剛剛打開的那個視窗。雖然你可以使用類似 AltTab - Windows alt-tab on macOS,按 option-Tab 的快捷鍵來切換視窗,但這並不總是最方便的方法。Finder 提供了「視窗」選單中的「合併所有視窗」功能,可以將所有打開的視窗合併到一個視窗中,但每次都需要手動執行。為了自動化這個過程,我們可以利用 Hammerspoon 來實現。

Hammerspoon 是一個開源的自動化工具,允許用戶使用 Lua 腳本來控制 macOS 的各種功能,讓你的 Mac 更加個性化和高效。

方法(Methods)

對於沒有使用過 Hammerspoon 的人,以下是一步步的操作指南,幫助你實現 Finder 視窗自動合併的功能。

  1. 安裝 Hammerspoon

    • 首先,你需要從 Hammerspoon 官方網站 下載並安裝 Hammerspoon。
    • 安裝完成後,打開 Hammerspoon 應用,並允許它獲取必要的系統權限。
  2. 打開 Hammerspoon 配置文件

    • 打開 Hammerspoon 後,在菜單欄中點擊 Hammerspoon 圖標,選擇 Open Config 來打開配置文件。這個文件通常是 ~/.hammerspoon/init.lua
  3. 編寫腳本

    • 在打開的 init.lua 文件中,將以下代碼複製並貼上:
    -- 定義一個函數來執行 AppleScript
    function mergeAllWindows()
        local script = [[
            tell application "System Events"
                tell process "Finder"
                    click menu item "合併所有視窗" of menu "視窗" of menu bar 1
                end tell
            end tell
        ]]
        hs.osascript.applescript(script)
    end
     
    -- 監控應用程式切換事件
    hs.application.watcher.new(function(appName, eventType, appObject)
        if (eventType == hs.application.watcher.activated) then
            if (appName == "Finder") then
                mergeAllWindows()
            end
        end
    end):start()
  4. 保存並重新加載配置

    • 保存文件後,回到 Hammerspoon 的菜單欄圖標,選擇 Reload Config 來重新加載配置文件。你可以看到一個通知表示配置已經重新載入。
  5. 測試腳本

    • 打開多個 Finder 視窗,然後點擊其他應用程式,之後再回到 Finder。當 Finder 被激活時,Hammerspoon 會自動執行 mergeAllWindows 函數,合併所有打開的 Finder 視窗。

結果(Results)

當你完成上述步驟後,Hammerspoon 會在每次 Finder 被激活時自動合併所有視窗,這樣你就不再需要手動執行這個操作。

討論(Discussion)

這段腳本有效地解決了 Finder 多視窗管理的困擾。Hammerspoon 是一個非常強大的工具,允許你使用腳本來自動執行各種操作,讓你可以根據自己的需求來定制 macOS 的行為。即使你沒有編程經驗,按照這些步驟也能輕鬆上手。

結論(Conclusion)

通過 Hammerspoon 和簡單的 Lua 腳本,我們可以實現 Finder 視窗的自動合併功能,這不僅節省了時間,還提升了日常工作的效率。這個解決方案特別適合那些經常在 Finder 中打開多個視窗的用戶。如果你經常在 Finder 中工作,這個工具將成為你日常工作中不可或缺的一部分。