summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Julien Danjou <julien@danjou.info>2010-09-03 14:21:12 +0200
committerGravatar Julien Danjou <julien@danjou.info>2010-09-03 14:21:12 +0200
commit20d0da178cef24c150985785cba78239cb4f7da6 (patch)
tree28ceda482c7e2f54c2be72f9871b1d79461c8435
parent93300e1e9e6e81ba73a7e559a0cdc5008e0b950a (diff)
Enhance mode line
Signed-off-by: Julien Danjou <julien@danjou.info>
-rw-r--r--offlineimap.el11
1 files changed, 10 insertions, 1 deletions
diff --git a/offlineimap.el b/offlineimap.el
index 1d9a609..e1b0628 100644
--- a/offlineimap.el
+++ b/offlineimap.el
@@ -45,6 +45,10 @@
:group 'offlineimap
:type 'integer)
+(defcustom offlineimap-enable-mode-line-p '(eq major-mode 'gnus-group-mode)
+ "Whether enable OfflineIMAP mode line status display.
+This form is evaluated and its return value determines if the OfflineIMAP status should be displayed in the mode line.")
+
(defvar offlineimap-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "q") 'offlineimap-quit)
@@ -162,6 +166,11 @@
"Monitor STATE change of PROCESS."
(offlineimap-update-mode-line))
+(defun offlineimap-mode-line ()
+ "Return a string to display in mode line."
+ (when (eval offlineimap-enable-mode-line-p)
+ offlineimap-mode-line-string))
+
;;;###autoload
(defun offlineimap ()
"Start OfflineIMAP."
@@ -172,7 +181,7 @@
offlineimap-command)))
(set-process-filter process 'offlineimap-process-filter)
(set-process-sentinel process 'offlineimap-process-sentinel))
- (add-to-list 'global-mode-string 'offlineimap-mode-line-string t))
+ (add-to-list 'global-mode-string '(:eval (offlineimap-mode-line))))
(defun offlineimap-quit ()
"Quit OfflineIMAP."