#!/bin/sh -

#more='exec csh -c "gcalv agenda" 2> /dev/null'
#more='exec work -t ALL 2>&1'

# today - print near month calendars with the current date highlighted
# William Bulley, web@umich.edu
# restyled by Steve Kinzler, steve@kinzler.com, Jun 08/Aug 12
# https://kinzler.com/me/home.html#other

date

# NOTE: cal(1) highlighting appears broken on Ubuntu 22.04
#cal -3 2> /dev/null || {
false || {

		 so="`(tput so)   2> /dev/null`"	# termcap
test -z "$so" && so="`(tput smso) 2> /dev/null`"	# terminfo
test -z "$so" && so="`(tput rev)  2> /dev/null`"	# terminfo alt
test -z "$so" && so='[7m'				# assume ANSI
		 se="`(tput se)   2> /dev/null`"
test -z "$se" && se="`(tput rmso) 2> /dev/null`"
test -z "$se" && se="`(tput sgr0) 2> /dev/null`"
test -z "$se" && se='[m'

set x `date +'%m %Y %d'`; shift
if test "$#" -ne 3
then	echo "$0: cannot determine current date" 1>&2; exit 1
fi
d=`echo "$3" | sed 's/^0*//'`

echo ''
if test "$1" -eq 1
then	cal 12 `expr "$2" - 1`
else	cal    `expr "$1" - 1` "$2"
fi

echo ''
cal "$1" "$2" | sed "s/_//g; s/^$d /$so$d$se /;  s/ $d$/ $so$d$se/;
			       s/ $d / $so$d$se /; s/^$d$/$so$d$se/"

echo ''
if test "$1" -eq 12
then	cal  1 `expr "$2" + 1`
else	cal    `expr "$1" + 1` "$2"
fi

}

case "$more" in
?*)	eval "$more";;
esac
