#!/bin/bash #horizontal calendar for conky by ans COLOROLD="CDCD00" COLORTODAY="FF0000" COLORREST="3CB371" COLORNEXT="D8D8D8" TODAY=`date +%d` LASTDAY=`date -d "-$(date +%d) days +1 month" +%d` FIRSTDAY=`date -d "-1 month -$(($(date +%d)-1)) days +1 month" +%u` i=1 TOPLINE=" " TODAYC="\${color $COLORTODAY}" OVER="\${color $COLOROLD} " REST="\${color $COLORREST} " #OVER="" #REST="" TODAYC="$TODAYC $TODAY" if [ $TODAY -ne 1 ] then while [ $i -lt $TODAY ]; do if [ $i -lt 10 ] then OVER="$OVER 0$i" else OVER="$OVER $i" fi i=$[$i+1] done fi i=$[$i+1] if [ $TODAY -ne $LASTDAY ] then while [ $i -ne $LASTDAY ]; do if [ $i -lt 10 ] then REST="$REST 0$i" else REST="$REST $i" fi i=$[$i+1] done REST="$REST $LASTDAY" fi i=$LASTDAY j=1 NEXTMONTH="\${color $COLORNEXT} " while [ $i -lt 31 ] ; do NEXTMONTH="$NEXTMONTH 0$j" i=$[$i+1] j=$[$j+1] done j=31 k=$FIRSTDAY while [ $j -gt 0 ]; do case "$k" in 7) TOPLINE="$TOPLINE Su" ;; 1) TOPLINE="$TOPLINE Mo" ;; 2) TOPLINE="$TOPLINE Tu" ;; 3) TOPLINE="$TOPLINE We" ;; 4) TOPLINE="$TOPLINE Th" ;; 5) TOPLINE="$TOPLINE Fr" ;; 6) TOPLINE="$TOPLINE Sa" ;; esac j=$[$j-1] k=$[$k+1] if [ $k -eq 8 ] then k=1 fi done echo '${goto 240}'$TOPLINE | sed 's/So/${color red}So${color}/g' | sed 's/Sa/${color orange}Sa${color}/g' echo '${goto 240}'$OVER$TODAYC$REST$NEXTMONTH