diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Functions/Calendar/calendar_show | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 2fb3e2ad2..1cb21e346 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-03-31 Peter Stephenson <pws@csr.com> + + * unposted: Functions/Calendar/calendar_show: if in KDE, + use kdialog rather than xmessage. + 2008-03-30 Peter Stephenson <p.w.stephenson@ntlworld.com> * 24708: Misc/globtests, Src/pattern.c, Test/D02glob.ztst: diff --git a/Functions/Calendar/calendar_show b/Functions/Calendar/calendar_show index 13fc6a491..5be589945 100644 --- a/Functions/Calendar/calendar_show +++ b/Functions/Calendar/calendar_show @@ -9,11 +9,21 @@ 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. +# Don't do this if there's already an notification/message 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 + if [[ -n ${commands[kdialog]} && -n $KDE_SESSION_UID ]] && dcop >&/dev/null + then + # We're in a KDE session, most probably. + # Simple: + cmd=(kdialog --msgbox) + # Alternative: + # calendar_knotify_show() { + # dcop knotify default notify calendar zsh "$*" '' '' 2 0 + # } + # cmd=(calendar_knotify_show) + elif [[ -n ${commands[xmessage]} ]]; then cmd=(xmessage -center) fi if [[ -n $cmd[1] ]] && |