惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
月光博客
月光博客
腾讯CDC
Engineering at Meta
Engineering at Meta
博客园 - Franky
Vercel News
Vercel News
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
GbyAI
GbyAI
B
Blog
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
[macOS] 根据电源连接状态自动切换默认浏览器 - 少数派
2017-05-26 · via 少数派

Safari 和 Chrome 是 macOS 平台上最主流的两个浏览器,如何在它们之间取舍也一直是热门话题。虽然两者性能、速度孰优孰劣并无定论,但 Safari 更加稳定省电、Chrome 在功能和扩展性上更优则是没有疑问的。因此,对于 MacBook 而言,用电池供电时使用 Safari 是更经济的选择,而连接电源时则可放心使用 Chrome,享受其丰富的扩展程序带来的便利。但显然,每次插拔电源后手动切换默认浏览器是十分麻烦的,如何将其自动化呢?

我们可以使用一款名为 ControlPlane 的免费工具来达成上述目的。该软件的机制非常类似于 IFTTT,即当检测到一定条件发生时,自动触发相应的操作。据此,前述需求实际上可以表述为:

如果连接电源适配器,则将默认浏览器设置为 Chrome;如果拔下电源适配器,则将默认浏览器设置为 Safari。

下面介绍如何利用这套机制实现文首提出的需求。

首先下载安装 ControlPlane。(该链接为官网提供,文件存储在 Dropbox 上。如果你无法正常打开 Dropbox,可以下载我上传到 OneDrive 上的安装文件,但仍建议尽量从官网下载。)

打开后,可以看到通用/General、情境/Contexts、迹象/Evidence Sources、规则/Rules、动作/Actions、高级/Advanced 等选项卡。它们的逻辑关系是:当特定的「迹象」出现时,触发相应的「规则」;软件将据此判断电脑当前处于何种「情境」,从而执行与其关联的「动作」。

软件主界面
软件主界面

首先在「通用/General」选项卡中,勾选「登录时启动 ControlPlane / Start ControlPlane at login」,允许其随系统自启。

然后,切换到「情境/Contexts」选项卡。点击「+」,新建一个名为「Battery」的情境。

新建情境
新建情境

接着,在「迹象/Evidence Sources」选项卡中,勾选「连接的电源适配器 / Attached Power Adapter」,允许将电源连接情况作为判断情境的标准。

允许将电源连接情况作为判断情境的标准
允许将电源连接情况作为判断情境的标准

在「规则/Rules」选项卡中,点击「+」>「添加『连接的电源适配器』规则… / Add 'Attached Power Adapter' Rule…」。

在弹出的窗口中,将「情境/Context」指定为刚才创建的「Battery」,并将「把握/Confidence」滑杆向右拉动到超过 75%(软件默认的切换情境所需最低阈值),但不要拉到 100%。 (具体原理见文末说明。)

由于我们希望在断开电源时触发规则,还应勾选「反向适用/Negate」选项。

新建规则(是的,竟然还可以根据序列号指定某一个特定的电源……)
新建规则(是的,竟然还可以根据序列号指定某一个特定的电源……)

最后,切换到「动作/Actions」选项卡,点击「+」>「网络动作/Web Actions」>「默认浏览器/Default Browser」。

在弹出窗口的「将默认浏览器设置为 / Set default browser to」下拉菜单中选择 Chrome 浏览器,并在「情境/Context」项下的两个下拉菜单中分别选择刚才创建的「Battery」情境和「情境开始时/On arrival」。

用同样的方法添加一个在「情境结束时/On departure」将默认浏览器改回 Chrome 的动作。

注意:该功能的实现机制是将 ControlPlane 本身设定为系统默认浏览器,然后根据规则转发到对应浏览器,因此第一次做此操作时,会弹出修改系统默认浏览器的提示,同意其修改即可。如果不慎忽略了该提示,可以事后在  >「系统偏好设置」>「通用」>「默认网页浏览器」中手动修改。

动作设置完毕后的界面
动作设置完毕后的界面

现在,只要断开电源,即可看到 ControlPlane 弹出通知,表明默认浏览器已经切换到 Safari。如果不需要该通知,可以取消「通用/General」>「使用通知/Use Notifications」选项的勾选。

这样,我们就实现了文首提出的需求。

切换情境时的通知
切换情境时的通知

此外,从上述操作中可以看出 ControlPlane 的功能相当丰富,其所能实现的效果远不止切换默认浏览器一种。除电源连接状况之外,该软件还支持以运行的程序、蓝牙状态、外置存储,以至 IP 地址、地理位置、光线强弱为情境触发条件;可以执行的动作则还有打开文件/应用、加载/推出设备、开关 WiFi 等。而且,由于其支持运行终端命令(Shell Script)和 Apple Script 脚本,理论上可以实现的效果几乎是无限的,读者可以按照需求自行探索。


Confidence 机制的细节

「把握」(Confidence)是 ControlPlane 用于判断电脑当前处于何种情境的独特机制。简言之,当两个或以上情境的条件同时成就时,ControlPlane 将优先切换到「把握」最高的情境。

读者可能注意到,文中在增添规则的步骤中设置该选项时,特别提到无须将其设定为 100%。这么做的理由在于,某些情况下(如在家中可以随时充电时),即使不插电源,我们也希望继续使用 Chrome。这时,通过新建一个以连接家中 WiFi 为触发条件的情境「在家」,并将其「把握」设置得更高,即可在「断开电源」和「连接家中 WiFi」两个条件同时成就时,排除适用「Battery」情境,而适用「在家」情境,从而保持 Chrome 的默认浏览器身份。

计算某个情境的「把握」C 的方法是:将其下每个规则的把握 c[i] 不成立的概率(1-c[i])相乘,所得结果被 1 减,即 C=1-∏(1-c[i])。你可以在「通用/General」>「切换情境所需的把握度 / Confidence required to switch」来调节适合需求的阈值。


修订
2017/05/26:对 Confidence 机制作出补充说明;修正了一些格式问题。
2017/05/24:修正了之前版本中不正确的链接;增加了存储在 OneDrive 上的下载链接;修正了一些排版问题。