notifications+appt 问题

今天看到了一篇关于使用emacs内置的包实现桌面通知的文章 ,再考虑到appt可对条目单独设定提醒时间,非常感兴趣,于是尝试了下。

用后发现 @lujun9972 写的通知函数貌似有点问题,就如文章内提到, 若同一时间有多个预约或两个预约间隔较短,那么这些参数都可能为列表, 在参数为列表的情况下,函数就会报错,于是我尝试自己修改了下通知函数。但是我发现这个有些复杂?有点不知道怎么写。

(defun appt-disp-window-and-notification (min-to-appt current-time appt-msg)
   (if (atom min-to-appt)
       (notifications-notify :timeout (* appt-display-interval 60000) ;一直持续到下一次提醒
                                      :title (format "%s分钟内有新的任务" min-to-appt)
                                      :body appt-msg)
    (dolist (i (number-sequence 0 (1- (length min-to-appt))))
      (notifications-notify :timeout (* appt-display-interval 60000) ;一直持续到下一次提醒
                                     :title (format "%s分钟内有新的任务" (nth i min-to-appt))
                                     :body (nth i appt-msg))))
;; (appt-disp-window min-to-appt current-time appt-msg)
) ;同时也调用原有的提醒函数

目前的方案

有没有考虑使用org-notify,只要开着emacs就可以用

看了下org-notify,它好像不支持自定义单个任务的提醒时间,而且有点老了