aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-08-04 00:30:15 +0200
committerGravatar Tom Willemsen2012-08-04 00:33:03 +0200
commitea83dd8c2c4cfca11af8cf6224ca55dd4b4946e7 (patch)
tree8b17365a31193fcbda66de0021006188275a32a2
parent7546b86c4b4d5913c8b1ba83eae9f92d99977c7e (diff)
downloadavandu-ea83dd8c2c4cfca11af8cf6224ca55dd4b4946e7.tar.gz
avandu-ea83dd8c2c4cfca11af8cf6224ca55dd4b4946e7.zip
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.
-rw-r--r--avandu.el24
-rw-r--r--doc/avandu.texinfo11
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.
\\<avandu-overview-map>"
(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