使用 zenity 制作 shell 版提醒工具

使用 zenity 制作 shell 版提醒工具

点击 这里 查看 zenity 的基本用法。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
# This will wait one second and then steal focus and make the Zenity dialog box always-on-top (aka. 'above').

# 一秒后运行wmctrl,把zenity的窗口置顶,注意title要一致
(sleep 1 && wmctrl -F -a "take a rest :)" -b add,above) &

# 显示提示框
# zenity --info --title="take a rest :)" --width=800 --height=600 --text="休息时间到了,活动一下筋骨吧!"

# 显示时间进度条
# 提示文字要加#号
(
rest_time=120
for (i=1;i<${rest_time};i++); do
    echo "# 休息时间到了,活动一下筋骨吧!剩余时间 $(rest_time-i) s"
    echo $(i*100/rest_time)
    sleep 1
done
) |
zenity --progress \
    --title="take a rest :)" \
    --width=800 \
    --height=600 \
    --percentage=0 \
    --text="休息时间到了,活动一下筋骨吧!"