add status subcommand instead of running with set -x
[shellsnippets/shellsnippets.git] / mksh / profile-funcs
1 # XHTML validator
2 xv() {
3         local i rv=0 s
4
5         for i in "$@"; do
6                 s=$(sed \
7                     -e 's!http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd!file:///usr/src/www/mk/xhtml11.dtd!g' \
8                     <"$i" | xmlstarlet val -e -d file:///usr/src/www/mk/xhtml11.dtd -)
9                 (( rv |= $? ))
10                 print -r -- "$i ${s#- }"
11         done
12         return $rv
13 }
14
15 # might wish to call these in ~/.profile near the end:
16
17 # show weather
18 function showweather {
19         local loc=${1:-Bonn}
20
21         (( (${EPOCHREALTIME%.*}-$(date -r ~/.etc/weather +%s)) > 3600 )) && \
22             (ansiweather -l "$loc" -u metric -d true
23             ansiweather -l "$loc" -u metric -f 3 -s true) >~/.etc/weather
24         cat ~/.etc/weather
25 }
26
27 # show appointments
28 function showtermine {
29         [[ -s ~/.etc/Termine ]] || return 0
30         calendar -f ~/.etc/Termine | while IFS='        ' read a b; do
31                 typeset -L8 a
32                 b=$(fold -sw 70 <<<"$b")
33                 print -r -- "‣ $a${b//$'\n'/$'\n\t  '}"
34         done
35 }