tsbar - scripts - various script and utils
HTML git clone git://z3bra.org/scripts
DIR Log
DIR Files
DIR Refs
---
tsbar (1078B)
---
1 #!/bin/sh
2
3 swidth=$(wattr w `lsw -r`)
4 geom="${swidth}x20"
5
6 BG=$(sed -n 2p < $HOME/.colors)
7 FG=$(tac < $HOME/.colors | sed -n 2p)
8
9 LEMON_FLAVOR="-dbg $geom -B${BG} -F${FG}"
10
11 clock() {
12 printf 'TIME %%{R} %s %%{R}' "$(date +%H:%M)"
13 }
14
15 mailc() {
16 maildir=$HOME/data/mail
17 mailboxes="inbox lists/crux lists/lobsters lists/pcc lists/suckless"
18
19 printf '%%{R} MAILS %%{R}'
20 for m in $mailboxes; do
21 mailbox=$(echo $m | cut -d/ -f2 | tr a-z A-Z)
22 test $(fcount $maildir/$m/new) -eq 0 && continue
23 printf ' %s %%{R} %d %%{R}' "$mailbox" "$(fcount $maildir/$m/new)"
24 done
25 echo
26 }
27
28 todo() {
29 printf 'TODO %%{R} %d %%{R}' $(<$HOME/.todo wc -l)
30 }
31
32 sound() {
33 level=$(amixer get Master | sed 's/^.*\[\([0-9]\+\)%.*$/\1/p;d' |uniq)
34 printf 'SOUND %%{R} %s %%{R}' "$level"
35 }
36
37 vpn() {
38 netname=$1
39 pgrep -f "tincd.*${netname}" 2>&1 >/dev/null
40 case $? in
41 0) printf 'VPN %%{R} UP %%{R}' ;;
42 1) printf 'VPN %%{R} DOWN %%{R}' ;;
43 esac
44 }
45
46 while :; do
47 BUF=
48 BUF="${BUF}%{l}$(mailc inbox)"
49 BUF="${BUF}%{r}$(todo) $(vpn 2f30) $(sound) $(clock)"
50 echo $BUF
51 sleep 1
52 done | lemonbar $LEMON_FLAVOR