diff options
Diffstat (limited to 'Functions/Calendar/calendar_show')
-rw-r--r-- | Functions/Calendar/calendar_show | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Functions/Calendar/calendar_show b/Functions/Calendar/calendar_show new file mode 100644 index 000000000..f731d07a5 --- /dev/null +++ b/Functions/Calendar/calendar_show @@ -0,0 +1,24 @@ +integer start=$1 stop=$2 +shift 2 + +[[ -o zle ]] && zle -I +print -r "$*" + +local -a cmd +zmodload -i zsh/parameter || return + +# Use xmessage to display the message if the start and stop time +# are the same, indicating we have been scheduled to display it. +# Don't do this if there's already an xmessage for the same user. +# HERE: this should be configurable and we should be able to do +# better if xmessage isn't available, e.g. wish. +if [[ -n $DISPLAY && $start -eq $stop ]]; then + if [[ -n ${commands[xmessage]} ]]; then + cmd=(xmessage -center) + fi + if [[ -n $cmd[0] ]] && + ! ps -u$UID | grep $cmd[0] >/dev/null 2>&1; then + # turn off job control for this + ($cmd "$*" &) + fi +fi |