A dmenu calendar.

git clone git://watertao.xyz/programs/calcurse_dmenu.git

entries.sh (1231B)


      1 #!/bin/sh
      2 
      3 PROGDIR="$(cd -- "$(dirname -- "$0")" && pwd)"
      4 [ -z "$cal_dir" ] && . "$PROGDIR/config.sh"
      5 
      6 # Set t option to h for history or t for todo
      7 # Default is c
      8 getopts :t: t
      9 caltype="${OPTARG:-"c"}"
     10 shift $(($OPTIND - 1))
     11 
     12 # First optional param, max day
     13 dmax="${1:-"$(date -d "5 Year" +%s)"}"
     14 datapretty="${2:-"1"}"
     15 
     16 f="$cal_apts"
     17 [ "$caltype" = "h" ] && sflag="-r" || sflag=""
     18 [ "$caltype" = "t" ] && f="$cal_todo"
     19 [ "$caltype" = "a" ] && f="$cal_alarm"
     20 
     21 # sed - for sorting purposes, format date for apt/evt's
     22 # and move the note out of the way in todo's
     23 <"$f" awk \
     24 	-v dmax="$dmax" \
     25 	-f "$PROGDIR/entries_expand_recur.awk" | \
     26 awk \
     27 	-v dmax="$dmax" \
     28 	-f "$PROGDIR/entries_expand_apts.awk" | \
     29 sed "	s/^\([0-9]\{2\}\)\/\([0-9]\{2\}\)\/\([0-9]\{4\}\)/\3\1\2/
     30 	s/^\(\[[0-9]\]\)\(${note_pattern}\)\( .*\)$/\1\3\2/" | \
     31 sort ${sflag} | \
     32 awk \
     33 	-v dmax="$dmax" \
     34 	-v plus7="$(date -d "7 days" +%s)" \
     35 	-v minus7="$(date -d "-7 days" +%s)" \
     36 	-v tomorrow="$(date -d "1 day" +%Y%m%d)" \
     37 	-v yesterday="$(date -d "-1 day" +%Y%m%d)" \
     38 	-v stoday="$S_TODAY" \
     39 	-v stomorrow="$S_TOMORROW" \
     40 	-v syesterday="$S_YESTERDAY" \
     41 	-v sseperator="$S_SEPERATOR" \
     42 	-v caltype="$caltype" \
     43 	-v dp="$datapretty" \
     44 	-f "$PROGDIR/entries.awk"