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

推荐订阅源

小众软件
小众软件
博客园_首页
博客园 - 聂微东
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
D
Docker
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
B
Blog RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Jina AI
Jina AI
博客园 - Franky
D
DataBreaches.Net

少数派

派早报: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 - 少数派
让你的 Mac 通知中心变得更实用:Today Scripts - 少数派
2017-08-01 · via 少数派

Today Scripts 是一个能够在通知中心运行 bash 脚本并输出结果的小工具。你可以利用它查看系统信息、性能数据、资源占用,阅读 RSS,管理服务器。只要是能用终端命令输出结果的东西,你都可以用它来实现。而且还是免费的。

想必很多人都用过 iStat menus,因为需要在菜单栏上显示,会占用本来就很挤的菜单栏空间,如果不需要实时监控的话,就可以选择用本工具在通知中心里面做同样的工作。而且,通知中心小工具只有在显示出来的时候才会占用系统资源。

有些同学可能知道,这款软件最初运行在 OS X 10.10 上,少数派曾在 2014 年末发布过 推荐文。由于未知原因,原作者 SamRothCA 没有提供对新系统的适配,导致在 OS X 10.11 更新之后软件报废,后由 lsd 发布了针对 10.11 的适配版本。进入 macOS 时代之后,苹果修改了通知中心的设计风格,导致没有适配的 Widget 显示不协调。于是我自己修改代码对新系统做了适配,现在你已经可以在 macOS 10.12 上正常使用本软件了。

前后对比

基础使用

想要在 Today Scripts 中添加脚本,只要点击右上角的「i」,然后点添加脚本。

添加脚本

上面你可以输入脚本的标题和调用的程序(默认会选择系统当前使用的 shell)。没什么特殊需求的话,在中间的框中输入 bash 脚本之后点击「添加脚本」即可。注意需要按 Tab 键在文本框之间移动光标。(Shift + Tab 可以反方向移动)

  • Run automatically:如果取消勾选则不会自动运行脚本。你需要在脚本标题上点击鼠标才会输出结果。可以利用这个选项做一些点击执行的快捷工具。
  • Show status indicator:一般添加的脚本会在标题左侧显示一个表示运行状态的小灯,取消勾选则不会显示。

配合 iStats 的温度监控

想必你已经用过一些温度监控工具了,这里介绍一种结合命令行工具 iStats 的实现。

效果图

首先安装 iStats。使用 gem install iStats直接安装。安装后在终端运行 istats 就可以显示结果。

之后你只需要在 Today Scripts 里面添加一个内容为 /usr/local/bin/istats 的脚本就行了。默认会显示 CPU 温度、风扇状态和电池状态。接下来我会介绍一下自定义显示数据的方法。

在终端输入 istats scan 检索已有的温度传感器,程序会列出一堆知道干嘛和不知道干嘛的温度信息。

你可以从中选择你需要的加入,用 istats enable xxx 即可。比如我想加入最后一个 AirPort 的温度,就要输入 istats enable TW0P 。之后你就可以在 Extra Stats 分类下看到刚刚加入的传感器了。

如果你只想在通知中心看到一部分数据,可以在 Today Scripts 中使用例如 /usr/local/bin/istats cpu 、/usr/local/bin/istats battery 等来限定内容,注意前面必须使用 iStats 的绝对路径,更多命令可以在终端中输入 istats help 来查看。

系统信息

在 Today Scripts 的 wiki 中,作者给出了一些比较好用的小脚本。复制粘贴就好了。

  • 五个占用 CPU 最高的程序

ps xro %cpu=,comm= | while read cpu comm; ((i++<5)); do echo $cpu% $(basename "$comm"); done

  • 五个占用内存最高的程序
ps xmo rss=,pmem=,comm= | while read rss pmem comm; ((n++<5)); do
size="$[rss/1024]";
short=$[4-${#size}];
size="(${size}M)";
i=0;
while ((i++ < short)); do size=" $size"; done;
pmem="${pmem%%.*}"
if   (($pmem >= 20)); then color=$'\e[31m';
elif (($pmem >= 10)); then color=$'\e[33m';
else                       color=$'\e[32m ';
fi;
echo "$color$pmem% $size $(basename "$comm")"$'\e[0m'"";
done
  • 磁盘占用状况
df -Hl | {
  read keys;
  keys="${keys%% on}";
  while read ${keys//%}; do
    echo "`basename "$Mounted"` - $Used/$Size ($Capacity)";
  done
}
  • 网络信息

这个脚本我做了一点修改,改进了排版并加入了公网 IP。

echo -e "Local IP:\c"
ipconfig getifaddr en0
echo -e "Gateway:\c"
netstat -rn | grep default | grep en0 | awk '{print $2}'
echo -e "Public IP:\c"
curl icanhazip.com

Git 相关

  • 指定 Repo 的状态
cd ~/path/to/repo && git status --short
  • 带分支信息的指定 Repo 状态
cd ~/path/to/repo && git status --short --branch
  • 指定 Repo 的最后一次提交
cd ~/path/to/repo && git log --abbrev-commit --date=relative -1
  • Finder 中现在打开的 Repo 信息(感觉这个最实用)
cd "$(osascript -e 'tell application "Finder" to get the POSIX path of (target of front window as alias)')" && git status --short --branch

运行非 Bash 脚本

除了运行默认的 bash 脚本之外,我们还可以运行一些其他语言的脚本。只需要在添加脚本时把调用的程序改成对应的可执行文件即可,注意是绝对目录。

  • Python:/usr/bin/python
  • Ruby:/usr/bin/ruby
  • Apple Script:/usr/bin/osascript(Tip:在 Apple Script 中可以使用 log 语句向控制台输出文本)

是不是可以做的事情更多了?

后记

除了上面介绍的用法,Today Scripts 能干的事情还有很多,各位可以自由发挥想象。通知中心自从进入 Mac 之后使用率就并不高,开发者也较少跟进,这使其进入了一种类似 Dashboard 的尴尬局面。希望这个 App 能拯救你的通知中心。

下载链接:直接下载 项目页面

参考链接


本文题图背景照片作者:@昭和摄影师南田一树