Safari 其實還不錯用
我把我的主要瀏覽器換成 Safari 了,想當然一堆魔改
你知道的,我一直都是 Webkit 系瀏覽器的使用者,從未使用過任何 Chromium 系的瀏覽器,什麼 Arc、Edge、Vivaldi、Brave、SigmaOS 之流,全都是吃記憶體的怪獸。Manifest v2 說棄就棄。web extension API 大一統?聽都沒聽過。Webkit 的順暢才是我們尊貴的 macOS 使用者的嚮往,豐富的 Extension?不需要的。翻頁般的動畫效果、細緻順暢的觸控操作、省電高效、原生體驗,這些才是我們的心之所向。
至於 Zen Browser,不過是 Arc 的抄襲狗,我祝福他們發展的順利。
其實看 Zen 最近的發展,極有可能讓我下一秒鬼轉,本段純屬玩笑。 成句來自迪西訊
離開 Arc
換瀏覽器又不是撤資,說是這麼說啦,但成天看 Arc 版裡的抱怨文也是蠻飽的。
前情提要,The Browser Company(也就是開發 Arc 瀏覽器的公司)宣佈會停止 Arc 的開發,轉成維護模式,轉而把開發量能放在新產品 Dia 上,而新產品 Dia 不會有 Arc 那麼突破性的設計變革,而是會更貼近一般瀏覽器的操作習慣,哭哭。
已經被 Arc 瀏覽器慣壞的一眾使用者包含我,除了走過悲傷五階段外,大概能做的也就只有:
- 繼續用 Arc,反正既有功能大多也能動
- 換別的瀏覽器,然後期望落差,再度回到 Arc
Zen Browser 就是在此背景下備受期待的競爭者。不僅僅是 FireFox 套皮,Zen 也在功能面逐漸能與 Arc 一戰。綁定工作空間的設定檔、側邊欄、分頁資料夾、畫中畫(Picture-in-Picture) 播放器。在介面與易用性上,在在滿足我們這些「前 Arc 使用者」挑剔的心。Zen 的主要開發者,甚至還只是位需要準備期中考試的大學生,那瘋狂的 commit 及產 bug 速度,在短短的數個月內填補完 「Arc 迷子」內心的缺憾(一輩子…)。
不過在使用 Zen 幾週後,還是有兩個大問題使我想要離開(再強調一次,換瀏覽器不是撤資):
- 基於 Firefox 還是有點耗電
- 開發團隊經驗不足導致 bug 和 regression 都有點多,還時不時有 P0 等級的問題導致我需要先回到 Arc
平常還是要工作的,總不能時不時被這種奇妙的問題打斷吧。想換瀏覽器,但又不想回到 Arc,在綜合考量後,我竟然選擇先試試看 Safari 一陣子?理由到底為何?
Workona 分頁管理:用工作空間重塑瀏覽器體驗
Workona 是一個分頁管理的瀏覽器擴充功能,對我來說最大的價值,就是他把「工作空間」的概念帶到 Chromium 系瀏覽器上:
- 工作空間是分頁群組的概念,但比起分頁群組會全部擠在同一個視窗,工作空間能在視窗的粒度達到分離(isolation),不會單一視窗充滿了多個分頁群組(有夠亂)
- 可以用快速鍵切換不同工作空間
- 也有「資源分頁」的概念,取代掉書籤
只不過後來他的收費策略太過頭了,免費版限制有夠多,剛好又發現了 Arc 瀏覽器內建了這個功能,我就順勢換過去了。所以重點還是免費仔之魂嘛。
分頁管理上,Arc 比起 Workona 更進一步的功能在於「設定檔可分離」。以我的例子來說,我有個人平常用的帳號,也有專門用來消化日文資訊的帳號,還有工作用的帳號,這些不同的帳號可以運用設定檔(Profile)的方式切開隔離,而 Arc 還可以讓不同空間綁上不同的設定檔,把在其他瀏覽器需要多開新的視窗才能用的設定檔,通通壓回一個平面。


換回 Safari
說完了我對下個瀏覽器的必要條件,也就是工作空間與設定檔的可綁定或分離,那其實可以用的選擇,除了 Arc 還是有 SigmaOS、Orion 或是 Vivaldi,最後為何還是選 Safari?
理由有二:
- 都要被 vendor lock-in 了,不如在水果監獄
- 見山還是山的中二(愛慕虛榮 aka)

(懶的改圖,幫自己腦補下:Safari/其他/Safari)
在換了這麼多不同瀏覽器後,身為一個多年的 macoS 使用者,我決定還是重新拾起 Safari。除了滿足身為 2% 的虛榮心之外(?),我也想看看目前的 Safari 是否足以勝任我的日常瀏覽器。
彌合差距:在 Safari 上重現雙重維度的分頁操作

Safari 在 17 版之後加入了設定檔功能,所以上圖這種視窗層級的抽象其實也夠用了。多個擴充功能需要一一設定,但好在 Safari 擴充功能根本常用的也不多,所以問題不大(是好事還是壞事啊)。
雖然「能」使用多視窗多設定檔,但構成 Arc 雙重分頁維度的體驗的要素,很大一部分在於介面設計。因為整合了不同工作空間到同一個側邊欄裡,所以我們可以在同一個視窗,僅藉由按鈕、觸控手勢,或是快速鍵,在不同工作空間來回切換。
要在 Safari 上重現,按鈕和觸控手勢是不太可能了,我唯一能寄望的就只有快速鍵。不對,不如說,只要有快速鍵我就認為是成功了,沒有快速鍵,我甚至不會去使用。
用 Apple Script 和 BetterTouchTool(BTT) 來實作切換特定設定檔視窗的快速鍵
我非常的依賴快速鍵。Safari 對我來說最不順手的部分有以下幾個,有些甚至沒有按鈕可用:
- 切換到特定的視窗:你只能運用 macOS 內建的循環視窗快速鍵 Ctrl + `
- 切換到分頁群組:只能用滑鼠點
- 啟用畫中畫:在 YouTube 沒有任何可啟用的方法。
那要如何實現這幾個功能,甚至還能有快速鍵,身為一個 macOS 的老設定寶,快速鍵能用 BTT 實現,但功能呢?
好在這個時代我們有 Stack Overflow 和大語言模型。找了些參考資料,我藉由 ChatGPT 的輔助弄出了這個 Apple Script switch-safari-profile。
用法:
switch-safari-profile Work "Personal,Work;Shopping" en window # With menu language and window priority
- 第一個參數 Work 是要切換的視窗標題名稱
- “Personal,Work;Shopping” 是所有會用到的分頁群組和設定檔
TabGroup1,TabGroup2;Profile2
,分頁群組用逗點分隔,設定檔用分號分隔 - en 是語系
- window 指的是配對優先。若不給會先尋找同名的分頁群組。
至此綁上 BTT 的快速鍵,我就可以用 Ctrl + 1~4 的快速鍵,在不同的設定檔視窗間切換。
那分頁群組呢?
到底有哪個瀏覽器的分頁群組,在切換的時候,會把其他分頁群組的分頁通通關閉
對,就是你,你最爛,Safari。

這根本不是分頁群組吧。儘管如此,我還是必須使用分頁群組,因為那是用同一組設定檔拆出不同工作空間的唯一方式。
我最後的解法則是分頁群組另外開成一個視窗,這樣就沒有切換分頁群組的行為了,就只是單純視窗切換,這樣上述的切換腳本才能正常運作。

在目前的分頁群組開啟分頁
我也萬萬沒想到這個行為也需要額外的設定。無論你最後開啟過的分頁群組為何,在其他程式開啟的連結,都必定會在最後選擇過的設定檔視窗內開啟。
若要改變此行為,就必須額外設定專注模式過濾條件,比如說工作模式時開啟的連結,都會在 group 1/Profile A 打開。
我在使用上述 switch-safari-profile 腳本時,在 BTT 執行的時候,也會一併設定不同的專注模式,讓分頁能夠開啟在正確的視窗:
tell application "Shortcuts Events" to run the shortcut named "Personal mode"


畫中畫
這個有先進做了,就直接參考了 XD
https://gist.github.com/danielrotaermel/201f549d5755ea886eb78bb660133722
這個 Safari 就是遜啦!
穩定用了兩個多月
雖然邊做邊罵,回頭看下 GitHub 的上次程式碼提交日期,這套設定還是讓我用了兩個多月沒動過。
可能是用過了 kakoune,我特別珍惜這種穩定感。反正 Safari 也不會太常更新,我的腳本也就不會壞。當然我也是很喜歡開發中軟體特有的不平衡感,啊不對,不穩定感。你有多勇?我的 update channel 只開 nightly 啦!I use Arch btw,天天 pacman -Syu
!
以前我是一個無論用什麼軟體,都會擴充功能 *** 裝爆的人,也是換到 kakoune 後才讓我體驗極簡、自炊的有趣之處,穩定的平台才是基礎啊!
這不是 Safari 推坑文,而是我抽取自己瀏覽器使用習慣、滿足自己需求的記錄!