
Today Scripts for mac是一款开源的OS X系统通知栏小插件定制软件,这款软件可以让你在通知中心里执行各类Script脚本与Terminal终端命令,可自由定制属于自己的OS X通知小部件。Today Scripts可在Today Widget中直接执行自定义脚本,显示日历,市区,剪切板文本,电池状态,内存分配状态等信息。
功能介绍:
Colorized Output:Today Scripts 支持有色显示模式,即符合基本的彩色显示状态;同时支持的还有粗体、下划线两种格式。
Custom Labels:用户可以随意给 Scripts 添加标签(类似取名),主要用来区分不同命令针对的不同功能。
Custom Interpreters:允许用户运行指定的脚本语言代码,例如:Python,Perl,AppleScript;等。
Manually Run Scripts:(或许是)受限于通知中心的刷新率,有些代码需要用户点击 Label 去手动刷新,或重新激活通知中心。
Output text selection:Today Scripts 允许用户在选蓝代码结果后,进行复制和拖拽移动。
使用方法:
首先,我们需要到软件主页下载最新的程序压缩包,解压缩打开,再到调取出通知中心,在「今天」的界面底部点击「编辑」按钮进入 Widget 编辑模式:

在编辑模式下,你会在最右侧的 Widget 项目列表里找到「Scipts」这个选项,点击右侧的绿色加号,将其添加到「今天」列表里,再点击「完成」即可。

添加好「Today Scripts」后,按照下图示,开始加入脚本即可,脚本添加界面中的 「Label」代表脚本名称,「Program」默认,勾选「Run Automatically」和「Show status indicator」可让脚本每次展示的时候自动显示信息,并提供红绿两种颜色的指示灯(分别指示脚本运行是否成功)

代码推荐:
代码一:时间和日期
%a = 针对周的短日期显示,例如:Sun %A = 针对周的长日期显示,例如:Sunday %b = 短月份显示,例如:Feb %B = 长月份显示,例如:February %d = 针对月的日期显示 %H = 小时显示(24小时格式) %Y = 年份 %m = 月份(数字格式) %M = 分钟(数字显示) %S = 秒钟 ...(详情参阅该网站)
以上是各单位显示(格式)对应的代码,在实际应用过程中,我们可以进行随意排列,但要注意不要忘了在开头补充 date '+' 语句,例如:
date '+%Y.%m.%d %A'(结果见下图)

若要加入换行显示,请使用 %n 代码,例如:
date '+The Current Time:%nYear: %Y%nMonth: %m%nWeek: %V%nDay: %A (%d of the month, %j of the year)%nHour: %H%nMinute: %M%nSecond: %S'(结果见下图)[object Object]
此外,你还可以直接建立一个简单的日历,同时配以颜色高亮显示当前日期,代码如下(关于颜色,请参阅此文最下方代码):
cal_head=`cal | head -1`; cal_tail=`cal | tail -7`; today=`date "+%e"`; echo "$cal_head"; echo -en "${cal_tail/${today}/\033[1;32m${today}\033[0m}";(结果见下图)
代码二:资源预览
无论在什么平台,总有这么一群用户,希望时刻掌握电脑的各种数据信息,尤其体现在温度控、内存控和硬盘存储控们的身上,所以这就导致了一类像 iStat Menus 的应用的诞生。在笔者眼里,其实这些数据(对普通用户来说)远没有那么重要,可既然你决意这么做,那我就提供一些相对「廉价」的方法。
网络状态
echo -e "IP address:\t$(ipconfig getifaddr en0)"
echo -e "Default Gateway:\t$(netstat -rn | grep default | grep en0 | awk '{print $2}')"系统信息
lastCharsInSerialNum=$(system_profiler SPHardwareDataType | awk '/Serial/ {print $4}' | cut -c 9-)
friendlyName=$(curl -s http://support-sp.apple.com/sp/product?cc="$lastCharsInSerialNum" | awk -F'' '{print $2}' | awk -F'' '{print $1}')
echo -e "OS X: $(sw_vers | grep ProductVersion | awk '{print $2}')"
ioreg -l | grep IOPlatformSerialNumber | cut -d'"' -f4
sysctl -n hw.memsize | awk '{print $0/1073741824" GB RAM"}';
echo -e "$friendlyName"
echo -e "$(sysctl -n hw.model)"
echo -e "$(scutil --get ComputerName)"
echo -e "SMC: $(ioreg -c AppleSMC | grep smc-version | cut -d'"' -f4)"
内存占用率最高的五个进程
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
CPU 占用率最高的五个进程
ps xro %cpu=,comm= | while read cpu comm; ((i++<5)); do
int=$cpu
int="${int%%.*}"
if (($int >= 50)); then color=$'\e[31m';
elif (($int >= 25)); then color=$'\e[33m';
else color=$'\e[32m';
fi;
echo "$color$cpu% $(basename "$comm")"$'\e[0m'"";
done
剩余电量
在连接电源的情况下,只会显示「Power: External」,在断开电源使用内置电池时,手动刷新一下(或稍后激活通知中心)就会自动显示 Power: Battery(百分比)以及 Cycles(循环次数),非常实用。
my_ac_adapt=`ioreg -w0 -l | grep ExternalConnected | awk '{print $5}'`
if [ "$my_ac_adapt" == "Yes" ]
then
echo "Power : External"
else
cur_power=`ioreg -w0 -l | grep CurrentCapacity | awk '{print $5}'`
max_power=`ioreg -w0 -l | grep MaxCapacity | awk '{print $5}'`
bat_percent=`echo "scale=2;$cur_power / $max_power" | bc`
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/.00//'`
cyc_count=`ioreg -w0 -l | grep "Cycle Count" | awk 'BEGIN { FS = "=" } ; {print $8}' | awk 'BEGIN { FS = "}" } ; {print $1}'`
echo "Power : Battery ($bat_percent%)"
echo "Cycles : $cyc_count"
fi
各硬件的温度监控数据
需要安装 Temperature Monitor。虽然应用提示将其放入任意文件夹皆可,但鉴于要让 Today Scripts 中显示结果,所以还是需要放入指定的 /Applications 文件夹,切记!
/Applications/TemperatureMonitor.app/Contents/MacOS/tempmonitor -a -l -f |
while read reading; do
set -- $reading;
temperature="${@:$[$#-1]:1}";
sensor="${@:2:$[$#-3]}";
sensor="${sensor:0:$[${#sensor}-1]}";
sensor="${sensor//(}";
sensor="${sensor//)}";
sensor="$(echo "${sensor:0:32}" | tr '[:lower:]' '[:upper:]')";
short=$[32-${#sensor}];
i=0;
while ((i++ < short)); do sensor="$sensor "; done;
echo "$sensor"$' \e[35m'"${temperature}°F"$'\e[0m';
done;默认显示的单位是 °F,修改为 °C 的方法:将代码第一行里的 -f 去掉,再把倒数第二行里的 °F 改为 °C 即可。

除这些外,Today Scripts 还可以实现其他与「资源预览」相关的功能,例如:Battery Status, Storage Volume Usage, iStats 等。感兴趣的读者可以点击文字附着的链接,进入相关页面查看。

备案号:
开发者其他应用

Tabby(支持SSH的mac终端模拟器)121.5M299人在玩Tabby是原先被称为Terminus的终端模拟器软件,现在软件的名称发生了变化,但是在基本的功能上没有任何的改变,作为一款非常强大的终端模拟器软件,它支持SSH
下载
CopyQ剪贴板21.8M14人在玩CopyQ剪贴板是Mac上面的一款剪贴板的工具,这款剪贴板的工具能够为Mac的用户提供跨平台的剪贴板的功能,在Mac和Windows上面实现跨平台,满足你在这两者上面的剪贴
下载
微信输入法Mac版本136.0M20人在玩微信输入法Mac版本是微信团队打造的一款中文输入法,目前手机版本支持中英文输入,可选择九宫格、全键盘、五笔、笔画、双拼、手写等多种输入方式。它拥有智能拼写
下载
腾讯柠檬清理Mac完整版客户端69.3M374人在玩腾讯柠檬清理Mac完整版客户端是一款全新Mac清理工具,实时了解Mac系统状况,匠心打磨清理体验,一键释放磁盘空间,完整版已通过苹果官方公证,建议下载完整版。清
下载
Lima(Mac上linux虚拟机)158.0M3人在玩Lima(Mac上linux虚拟机)是一款在Mac上面进行使用的虚拟机,能够在Mac设备上面良好的运行各种linux的内容,不管是编程还是一些需要进行相关研究的人员都可以尝试一
下载
ES文件浏览器Mac官方版10.1M2154人在玩ES文件浏览器Mac官方版是一个免费且功能强大的文件管理全能王,ES文件浏览器操作十分简单,能够帮助您轻松管理文件。压缩/解压利器:支持ZIP、RAR、7Z格式的压缩
下载
腾讯柠檬(Lemon Cleaner)66.3M1409人在玩腾讯柠檬是腾讯微MAC所制作的一款清理垃圾清理小工具,不同于腾讯主流产品的各种会员,这款软件强大而且没有任何的限制没有广告等等恶心你的内容,绝对是你在MAC
下载
彩虹工具箱Mac版本14.9M4人在玩彩虹工具箱Mac版本是一个云端集合了众多实用工具的创新平台,为Mac用户量身定制,旨在打造一站式解决方案。它汇聚了广泛的小工具,覆盖日常所需,精心组织成生活
下载
开源跨平台密码管理KeePassXC for mac37.8M17人在玩KeePassXCformac是一款开源免费的密码管理工具,这款软件支持windows、Mac、Linux平台,兼容KeePass,算是KeePass的一个分支,不过比起来要增强了不少。KeePassX
下载
MacZip(Mac解压缩软件)15.0M2333人在玩MacZip是Mac上面的解压缩的软件,这款解压缩的软件能够辅助用户进行各种解压缩的内容,完全的免费并且没有广告,如果你现在Mac上面不知道挑选什么软件好的话可以
下载