summaryrefslogtreecommitdiff
path: root/jabber-menu.el
diff options
context:
space:
mode:
authorMagnus Henoch <mange@freemail.hu>2008-10-22 23:12:37 +0000
committerKirill A. Korinskiy <catap@catap.ru>2008-10-22 23:12:37 +0000
commita33b516b613f962ad38f86de4bd4d28d4d59c9dd (patch)
tree8c7debf10f0fa552de95563d1a7efcb151bd021c /jabber-menu.el
parentbaefb2f0422d93afff3e161054d4d724ee95da94 (diff)
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-607
Creator: Magnus Henoch <mange@freemail.hu> Menu hacking New variable jabber-display-menu controls whether Jabber menu is on menu bar. Default: yes, if there is evidence that the user uses Jabber. Put Jabber menu last instead of first. Update documentation.
Diffstat (limited to 'jabber-menu.el')
-rw-r--r--jabber-menu.el26
1 files changed, 22 insertions, 4 deletions
diff --git a/jabber-menu.el b/jabber-menu.el
index 4387c76..2244746 100644
--- a/jabber-menu.el
+++ b/jabber-menu.el
@@ -1,7 +1,7 @@
;; jabber-menu.el - menu definitions
+;; Copyright (C) 2003, 2004, 2008 - Magnus Henoch - mange@freemail.hu
;; Copyright (C) 2002, 2003, 2004 - tom berger - object@intelectronica.net
-;; Copyright (C) 2003, 2004 - Magnus Henoch - mange@freemail.hu
;; This file is a part of jabber.el.
@@ -21,13 +21,31 @@
(defvar jabber-menu (make-sparse-keymap "jabber-menu"))
+(defcustom jabber-display-menu 'maybe
+ "Decide whether the \"Jabber\" menu is displayed in the menu bar.
+If t, always display.
+If nil, never display.
+If maybe, display if any of `jabber-account-list' or `jabber-connections'
+is non-nil."
+ :group 'jabber
+ :type '(choice (const :tag "Never" nil)
+ (const :tag "Always" t)
+ (const :tag "When any accounts have been configured or connected" maybe)))
+
(defun jabber-menu (&optional remove)
"Put \"Jabber\" menu on menubar.
With prefix argument, remove it."
(interactive "P")
- (define-key global-map
- [menu-bar jabber-menu]
- (and (not remove) (cons "Jabber" jabber-menu))))
+ (setq jabber-display-menu (if remove nil t))
+ (force-mode-line-update))
+(make-obsolete 'jabber-menu "set the variable `jabber-display-menu' instead")
+
+(define-key-after global-map
+ [menu-bar jabber-menu]
+ (list 'menu-item "Jabber" jabber-menu
+ :visible '(or (eq jabber-display-menu t)
+ (and (eq jabber-display-menu 'maybe)
+ (or jabber-account-list jabber-connections)))))
(define-key jabber-menu
[jabber-menu-connect]