18 lines
		
	
	
		
			863 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			863 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
#Print the next appointment for the day for statusbar
 | 
						|
#or generate notification for upcoming appointment
 | 
						|
diff=$(calcurse --next | tail -n1 | sed 's/^\s*//; s/\[//;s/\]//' | cut -f1 -d ' ')
 | 
						|
secs=$(( $(echo "$diff" | cut -f1 -d ':') * 3600  + $(echo "$diff" | cut -f2 -d ':') *60 ))
 | 
						|
time_appointment="$(date --date "@$(( $( date +'%s' ) + $secs ))" +"%s")"
 | 
						|
appointment="$(calcurse --next | tail -n1 | awk '{$1=""; print $0}' | sed 's/^\s*//')"
 | 
						|
if [ "$1" = "notif" ]; then
 | 
						|
	msg="$(printf '%s\n%s' "$(date --date "@$time_appointment" +'%H:%M')" "$appointment")"
 | 
						|
	notify-send "Appointment coming up" "$msg"
 | 
						|
else
 | 
						|
	midnight=$(( $(date --date "$(date | sed 's/..:..:../23:59:59/; s/ PM//; s/ AM//')" +%s) + 1 ))
 | 
						|
	if [ $midnight -gt "$time_appointment" ]; then
 | 
						|
		printf '%s %s' "$(date --date "@$time_appointment" +'%H:%M')" "$appointment"
 | 
						|
	fi
 | 
						|
	printf '\n'
 | 
						|
fi
 |