diff options
author | Magnus Henoch <mange@freemail.hu> | 2008-10-22 23:12:37 +0000 |
---|---|---|
committer | Kirill A. Korinskiy <catap@catap.ru> | 2008-10-22 23:12:37 +0000 |
commit | a33b516b613f962ad38f86de4bd4d28d4d59c9dd (patch) | |
tree | 8c7debf10f0fa552de95563d1a7efcb151bd021c /jabber-menu.el | |
parent | baefb2f0422d93afff3e161054d4d724ee95da94 (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.el | 26 |
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] |