From: rasmus Date: Sat, 7 Mar 2015 17:12:41 +0000 (+0100) Subject: gnus-notification.el: Add mark as read X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=commitdiff_plain;h=cb38ce99be93f9fa79c971e57797379054ca31a9 gnus-notification.el: Add mark as read * gnus-notifications.el (gnus-notifications-action): Allow mark as read. (gnus-notifications-notify): Show uption to mark as read. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e6330be7b..c92b5a188 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,8 @@ * gnus-notifications.el (gnus-notifications-action): Raise window frame. + (gnus-notifications-action): Allow mark as read. + (gnus-notifications-notify): Show uption to mark as read. 2015-02-25 Adam Sjøgren diff --git a/lisp/gnus-notifications.el b/lisp/gnus-notifications.el index 1ed344e1c..7f8fd9ecb 100644 --- a/lisp/gnus-notifications.el +++ b/lisp/gnus-notifications.el @@ -75,13 +75,19 @@ not get notifications." "Map notifications ids to messages.") (defun gnus-notifications-action (id key) - (when (string= key "read") - (let ((group-article (assoc id gnus-notifications-id-to-msg))) - (when group-article - (let ((group (cadr group-article)) - (article (nth 2 group-article))) - (gnus-fetch-group group (list article)) - (when (window-system) (x-focus-frame (selected-frame)))))))) + (let ((group-article (assoc id gnus-notifications-id-to-msg))) + (when group-article + (let ((group (cadr group-article)) + (article (nth 2 group-article))) + (cond ((string= key "read") + (gnus-fetch-group group (list article)) + (when (window-system) (x-focus-frame (selected-frame)))) + ((string= key "mark-read") + (gnus-update-read-articles + group + (delq article (gnus-list-of-unread-articles group))) + ;; gnus-group-refresh-group + (gnus-group-update-group group))))))) (defun gnus-notifications-notify (from subject photo-file) "Send a notification about a new mail. @@ -91,7 +97,7 @@ Return a notification id if any, or t on success." 'notifications-notify :title from :body subject - :actions '("read" "Read") + :actions '("read" "Read" "mark-read" "Mark As Read") :on-action 'gnus-notifications-action :app-icon (gnus-funcall-no-warning 'image-search-load-path "gnus/gnus.png")