From ea83dd8c2c4cfca11af8cf6224ca55dd4b4946e7 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Sat, 4 Aug 2012 00:30:15 +0200 Subject: [PATCH] Show unread count in mode-line * avandu.el (avandu-new-articles-count): Only show a message in the echo area if it has been called interactively in any way. (avandu-overview-mode): Set MODE-NAME to the format of "Avandu:Overview[#]" where `#' is replaced by the number of unread articles. --- avandu.el | 24 ++++++++++++++++-------- doc/avandu.texinfo | 11 +++++++++-- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/avandu.el b/avandu.el index 0c46426..e875b5f 100644 --- a/avandu.el +++ b/avandu.el @@ -57,6 +57,9 @@ "What to replace the part between & and ; of HTML entities with names.") +(defconst avandu-overview-mode-name "Avandu:Overview" + "The default name for `avandu-overview-mode'.") + (defconst avandu-version 0 "The current version of avandu.") @@ -377,8 +380,13 @@ bounds of a button." feeds." (interactive) (avandu--check-login) - (let ((result (avandu--send-command '((op . "getUnread"))))) - (message (cdr (assq 'unread (assq 'content result)))))) + (let* ((result (avandu--send-command '((op . "getUnread")))) + (count (cdr (assq 'unread (assq 'content result))))) + + (when (called-interactively-p 'any) + (message "There are %s unread articles" count)) + + count)) (defun avandu-next-article () "Search forward for the next article." @@ -425,7 +433,8 @@ feeds." version)) ;; Overview -(define-derived-mode avandu-overview-mode special-mode "Avandu:Overview" +(define-derived-mode avandu-overview-mode special-mode + avandu-overview-mode-name "Major mode fo the avandu overview screen. This screen shows the articles categorized by feed as a list. It @@ -435,7 +444,10 @@ doesn't sort the list, so you'll have to set that up in tt-rss. \\" (use-local-map avandu-overview-map) (set (make-local-variable 'revert-buffer-function) - #'(lambda (ignore-auto noconfirm) (avandu-list)))) + #'(lambda (ignore-auto noconfirm) (avandu-list))) + (setq mode-name (format "%s[%s]" + avandu-overview-mode-name + (avandu-new-articles-count)))) ;;;###autoload (defun avandu-list () @@ -487,11 +499,7 @@ by feed." ;; (unread . t) ;; (id . 109)) -;; (get-version) ;; (login user password) -;; (logout) -;; (is-logged-in) -;; (get-unread) ;; (get-counters output-mode) ;; (get-feeds category-id unread-only limit offset) ;; (get-categories unread-only) diff --git a/doc/avandu.texinfo b/doc/avandu.texinfo index dd0bc09..8d12586 100644 --- a/doc/avandu.texinfo +++ b/doc/avandu.texinfo @@ -221,8 +221,15 @@ Apart from viewing unread articles there are a number of other things that can be done. @deffn Command avandu-new-articles-count -Shows the total number of unread articles in Tiny Tiny RSS in the echo -area. +Ask Tiny Tiny RSS for the total number of unread articles. If this +function is called interactively in any way it shows a message en the +echo area like: + +@example +There are # unread articles +@end example + +and it returns the number of unread articles as a string. @end deffn @deffn Command avandu-logged-in-p