]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/gnus/gnus-notifications: Raise frame when clicking Read; Add mark as read
authorRasmus Pank Roulund <rasmus@pank.eu>
Sun, 8 Mar 2015 10:10:37 +0000 (10:10 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Sun, 8 Mar 2015 10:10:37 +0000 (10:10 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-notifications.el

index 2ee0c56c7f5e800f96f5370a775f02746676eb94..763267c341334ca6b1808cdcfe144c02e22c9246 100644 (file)
@@ -1,3 +1,10 @@
+2015-03-08  Rasmus Pank Roulund  <rasmus@pank.eu>
+
+       * 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-03-08  Adam Sjøgren  <asjo@koldfront.dk>
 
        * message.el (message-insert-formatted-citation-line): Change %F to
index 2941cc46e4a3f69a1a3f805c0e7b533b747c5417..22dba3570a3e0fd76c8bf46b9da9d4de637451dd 100644 (file)
@@ -75,12 +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)))))))
+  (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 (and window-system (fboundp 'x-focus-frame)) (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.
@@ -90,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")