开源的 FreeBSD 成就了今天的 macOS,但是今天的 macOS 却因为闭源而失去了很多可定制化的地方。能在 Linux 下动动编辑器改改代码就可以实现的所谓「UI 魔改」,在如今的 macOS 下就却是难上加难。当然为了统一的设计风格而这样做的 Apple 我们还是可以理解。不过通过一些曲线救国的方式,我们的确能在某种程度上对 macOS 进行个性化的定制。今天的菜单栏�定制就是我们个性化 macOS 的第一步。

Reddit 是一个神奇的地方,里面有一个主题 r/unixporn 最近引起了我的注意。

img

r/unixporn 里面的很多同学将自己魔改的类 Unix 系统的桌面主题、通知主题、终端配色和壁纸��发出来进行分享。这个主题板块下的管理者(所谓的贴吧大吧主)甚至会举办月度 Unix 系统魔改大赛(The New Monthly Ricing Competition)。

不过这里面同学们魔改的类 Unix 系统的 UI,其实大多数都是更加容易进行定制的 Ubuntu 和 Arch Linux 等等 Linux 系统的 Gnome 桌面、图标和状态栏。但是对美丽的向往阻止不了我们们将「魔爪」伸向 macOS。

注:本文灵感来自于 r/unixporn 的帖子 [OSX] Minimal Oceanic

「魔改」的效果如何

今天我们将通过两个小工具:

  1. 这个基于 HTML5 和 CSS 在 macOS 桌面加载小部件的工具 ➡ Übersicht
  2. 这个用 Coffeescript 写的假装自己是 macOS 状态栏的桌面小部件 ➡ Pecan

来实现这样的效果:

img

如何进行「魔改」

第一步:安装 Übersicht

它是一个专门用于 macOS 来做桌面小工具的插件,很轻量,几乎不耗内存。同时又因为它的小部件可以通过 Coffeescript 来实现,并且可以直接用 CSS 来编辑样式,让这个插件做出来的 Widget 几乎有无限可能。

安装方法有两种:

  • 平常的安装方法:访问官网:Übersicht 点击下载安装。

  • 比较厉害的安装方法:利用HomeBrew。
  1. 下载安装使用依赖 Homebrew 🍺,将下面的命令复制粘贴到终端中执行
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 加入 Caskroom 拓展,这样直接可以安装 GUI 软件:
    brew tap homebrew/cask
  3. 执行命令安装 Übersicht:
    brew cask install ubersicht
    

欧耶 (^o^)/ 搞定!

第二步:安装 macOS 状态栏拓展包(Pecan)

Pecan 是一位同学开发的 Übersicht 的 Widget,并且开源在了 GitHub 上�,项目地址 在这里,这个项目的原理其实就是在桌面上显示一条状态栏,这样一来就能够直接覆盖掉系统原生状态栏,并且实现原生状态栏包括看时间、看连接 WiFi 名称、网络速率等等在内的一系列功能。

安装方法,执行命令:

git clone https://github.com/zzzeyez/Pecan.git $HOME/Library/Application\ Support/Übersicht/widgets/Pecan

上面命令就将这个 Pecan 小部件的源码放到 Übersicht 的 Widget 文件夹下,这样 Übersicht 就可以读取到这个文件夹下的东西来展示 Widget.

Pecan 内置了五个主题,分别是:bliss, fillmore, hasel, nurse, santafe.

img

我们先开启启用主题脚本:

  1. 首先终端执行:
  2. sed -i -e "s~/Users/zzzeyez/scripts/uber~HOME/Library/Application\ Support/Übersicht/widgets~g" "$HOME/Library/Application\ Support/Übersicht/widgets/Pecan/pecan-style"
    

    这样就通过调用 sed 流编辑器将脚本中的 Widget 路径修改为本机的路径。

  3. 然后利用下面的命令将脚本放入 /usr/local/bin 下,这样就可以将脚本加入 PATH 来全局调用:
  4. mv "$HOME/Library/Application\ Support/Übersicht/widgets/Pecan/pecan-style" "/usr/local/bin"
    
  5. 最后,我们可以通过直接输入命令 pecan-style 来查看、更换主题:
    1. 查看可用主题:pecan-style --list
    2. 加载 fillmore 主题:pecan-style --load fillmore

img

第三步:将系统原生状态栏设置自动隐藏

img

就这样,我们的高度可定制状态栏就实现了。

有一些兼容性的问题在于:

  1. 由于这个所谓的状态栏实际上只是桌面 Widget,因此它只能在桌面上进行显示,其他的应用的窗口能够将这个状态栏覆盖;
  2. 如果原生状态栏不开启自动隐藏的话,两层状态栏也会同时存在,比较尴尬。

感谢 Reddit 的同学们给我提供灵感,同时推荐这个 Reddit 主题:r/unixporn,里面一些同学魔改的 Linux 桌面也实在是迷人。

本文首发于 我的博客,欢迎围观。在少数派编辑 Minja 同学的提醒下,对题图等文章内容进行了完善,欢迎食用。

© Spencer Woo


> 开启 macOS 隐藏功能,就在专题 轻松玩转 Mac 命令 💻

> 让 Mac 菜单栏更好用,就在专题 把 Mac 菜单栏变成万能工具箱 🛠

> 下载 少数派 iOS 客户端、关注 少数派公众号,读有趣的内容 🎉

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影