|
@ -0,0 +1,68 @@ |
|
|
|
|
|
#!/usr/bin/env sh |
|
|
|
|
|
|
|
|
|
|
|
#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 & |
|
|
|
|
|
|
|
|
|
|
|
|