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
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=3
|
|
|
|
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 &
|
|
|
|
|