CLI config/dotfiles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

68 lines
1.2 KiB

#!/usr/bin/env zsh
#source $HOME/.cache/wal/colors.sh
color0="#000000"
color5="#FFFFFF"
pkill -f "dzen2 -title-name calendar"
ORIG_IFS=$IFS
IFS=" " read current_month current_year <<< $(date +"%m %Y")
IFS=$ORIG_IFS
screen=1
OPTS=`getopt -o m:y:s: -- "$@"`
eval set -- "$OPTS"
# <<<
while true; do
case "$1" in
-m ) month="$2"; shift 2 ;;
-y ) year="$2"; shift 2 ;;
-s ) screen="$2"; shift 2 ;;
-- ) shift; break ;;
* ) break ;;
esac
done
month=${month:-$current_month}
year=${year:-$current_year}
if (( month > 12)); then
month=1
((year++))
fi
if ((month < 1)); then
month=12
((year--))
fi
back="^ca(1, calendar -m $((month-1)) -y $year)<^ca()"
next="^ca(1, calendar -m $((month+1)) -y $year)>^ca()"
out=$(cal $month $year | sed "1s/^ /$back/; 1s/ $/$next/")
lines=$(echo "$out" | wc -l)
if test "$month" -eq "$current_month" && test "$year" -eq "$current_year"; then
out=$(echo "$out" | sed "2,$ s/$(date +%e)/^fg($color0)^bg($color5)\0^fg()^bg()/")
fi
echo "$out" | dzen2 \
-title-name "calendar" \
-bg "$color0" \
-fg "$color5" \
-x "-242" \
-y "20" \
-h 30 \
-l $((lines-1)) \
-w 240 \
-fn "Source Code Pro" \
-e "onstart=uncollapse;button3=exit" \
-ta c \
-sa c \
-xs $screen \
-p &