TextBar:彻底玩转你的 Menubar

TextBar

在 OS X 这块寸土寸金的地方,在你天天面面向对的主屏幕上,有四个区域会经常使用:Desktop,Dock,Notification,Menubar,前面三个都有许多软件来帮助用户进行信息自定义操作,比如擅长往桌面放各种信息 Widget 的 GeekTool 和 Ubersicht,为通知中心放置个性化统计信息的Today Scripts,还有老牌 Dock 程序预览窗口工具 HyperDock,那么 Menubar 在我接触 TextBar 之前还是一款纯洁的处女地,除了 Bartender,我似乎还未碰到过什么强大的自定义软件。现在,TextBar 将继承上述几位前辈的志向,让 Menubar 显示任何你想要的信息,只要你会玩脚本命令,乐趣将是大大的。

textbar Recipes

TextBar 是由独立程序员 Rich Somerfield 开发的,你可以在后台设置里添加任意数量的脚本程序来显示你想要的信息,每一条叫做 Recipes,噢,让我想起了 IFTTT,我猜作者也想把这款软件打造成 Flashlight 那样的开源插件平台吧

作者在 Github 开了一个 TextBar Recipes 的专页,你可以到里面参考安装一些 Recipes 学习学习,比如下面这张图:

textbar settings-2

在设置窗口内你可以为 Recipes 选择个性化的 ICON,这些 ICON 全部从 ICONS8 下载,接着就是 Script,直接输入即可,然后是调整信息更新频率,以秒为单位,随意设置吧,TextBar 还支持让你的信息通过 OS X Ntofication Center 进行消息推送,这对于安装在 Menubar 的天气、系统监控类 Recipes 非常有帮助。

下面我们来介绍几个既常用又实用的 Recipes:

1. 显示本地 IP 地址:

ifconfig | grep inet | grep -v inet6 | cut -d" " -f2 | tail -n1

2. 显示外网 IP 地址:

curl http://ipinfo.io/ip

3. 显示硬盘占用率:

df / | awk '{ print $5 }' | tail -n 1

4. 显示某个国家时间:

UKDATE=`TZ=GB date +"%H:%M %p"` ; echo "UK: $UKDATE"

5. 显示 Emoji:

echo '🌚'

友情提示:组合键:CONTROL+CMD+SPACE 快速调用 Emoji 选择菜单

6. 显示电池容量:

ioreg -n AppleSmartBattery -r | awk '$1~/Capacity/{c[$1]=$3} END{OFMT="%.2f%%"; max=c["\"MaxCapacity\""]; print (max>0? 100*c["\"CurrentCapacity\""]/max: "?")}'

7. 显示 CPU 状态:

$HOME/scripts/CPUSpeed.sh

需要 CPUSpeed.sh 配合,点击链接下载

8. 显示 iTunes 正在播放哪首歌曲:

osascript -e 'if application "iTunes" is running then' -e 'tell application "iTunes"' -e 'if player state = playing then' -e '(get name of current track) & " – " & (get artist of current track)' -e 'else' -e 'return ""' -e 'end if' -e 'end tell' -e 'else' -e 'return ""' -e 'end if'

此脚本需要你的 iTunes 处于歌曲播放状态

9. 显示天气:

curl -s 'http://api.openweathermap.org/data/2.5/weather?q=Manchester,UK&units=metric' | python -c 'import sys, json; data=json.load(sys.stdin); print("{} : {:.1f}°C".format(data["weather"][0]["main"], data["main"]["temp"]))'

TextBar Weather

将你所在的城市信息替代脚本里的“Manchester,UK”即可

10. 显示 Outlook 里未读邮件数量:

osascript $HOME/scripts/CheckOutlookMail.scpt

需要独立的 CheckOutlookMail.scpt 帮忙,放入 ~/script/ 即可

11. 显示系统文本剪切板:

pbpaste | sed 's/^[[:space:]]*//;s/[[:space:]]$//' | sed -E 's/^(.{10}).+$/\1.../'

这个脚本只能显示文本的前10个字符,后面的用省略号替代。。

12. 显示剪切板文本字符数量:

pbpaste | wc -c

13. 显示蓝牙键盘/鼠标剩余电量:

echo "M: "ioreg -c BNBMouseDevice | grep '"BatteryPercent" =' | sed 's/[^0-9]*//g'"%" echo "B:" ioreg -c AppleBluetoothHIDKeyboard | grep '"BatteryPercent" =' | sed 's/[^0-9]*//g'"%"

Mouse Keyboard Battery

14. 显示 Finder 里已选文件的名称:

osascript $HOME/scripts/SelectedFinderFile.scpt

需要独立的 SelectedFinderFile.scpt 帮忙,把这个 scpt 放入 ~/scripts 目录即可

15. 直接在 Menubar 显示图片?

echo '<html><img src="http://www......."/></html>'

这个脚本对图片要求太高,长宽不得超过 14px,要折腾请谨慎!

更多的个性化设置办法

TextBar 竟然还能做字体更换,OMG!,

来看办法:

defaults write com.RichSomerfield.TextBar DefaultFontName -string "HelveticaNeue-UltraLight"

脚本执行后需重启软件

设置字体大小:

defaults write com.RichSomerfield.TextBar textBarPreferences.DefaultFontSize -int 10

脚本执行后需重启软件

设置 TextBar 在 Mebubar 上显示 Recipes 限制数量:

defaults write com.RichSomerfield.TextBar DefaultMaxWidth -int 100

脚本执行后需重启软件,这个脚本需要你的 OS X 系统是 Yosemite,TextBar 版本要在 v1.4.47 及以上,脚本里最后的“100”是自选值,填写任意数字代表 Recipes 显示数量,填写“0”代表不限制,当然,如果 Recipes 太多,你需要 Bartender 来帮忙了。

总结

总之,这款软件适合有脚本编写经验的用户使用,乐趣大大的有,就看你的能力了,我觉得这款作品与 iOS 上的 Workflow 有些像,入门很容易,但要玩好需要你自己苦练内容,TextBar 售价 2.99$,提供7天试用,感兴趣的 Geek 不妨试试。

TextBar
评论 4 条

  • debbbbie

    收费 = =。

    2015-05-22 17:36 回复

  • 哈哈哈哈哈

    可以显示网速吗?

    2015-05-10 21:51 回复

    • Frank

      去 Github 的官方页看看咯,不行自己写一个啦~~

      2015-05-11 21:21 回复

    • xiaollz

      下个network speed monitor

      2015-05-11 22:57 回复