summaryrefslogtreecommitdiff
path: root/lisp/menu-bar.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2008-04-22 20:36:08 +0000
committerJuri Linkov <juri@jurta.org>2008-04-22 20:36:08 +0000
commitd3434a5b8a034f288cc905c2e8c42ddf91484668 (patch)
treef7e22b1eac6fb7110e4dda46a30e827e5fbeb29a /lisp/menu-bar.el
parent320bc739d34fee050d3e05943a449efc4f7c9afe (diff)
downloademacs-d3434a5b8a034f288cc905c2e8c42ddf91484668.tar.gz
(buffers-menu-max-size): Move its definition down to
the "Buffers Menu" section. Change group name `mouse' to `menu'. (yank-menu-length): Change group name `mouse' to `menu'. (buffers-menu-buffer-name-length): New user option. (menu-bar-update-buffers): Use buffers-menu-buffer-name-length instead of the hard-coded number 27.
Diffstat (limited to 'lisp/menu-bar.el')
-rw-r--r--lisp/menu-bar.el48
1 files changed, 31 insertions, 17 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 00f76789b34..fe15c81c176 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -30,17 +30,6 @@
;;; Code:
-;;; User options:
-
-(defcustom buffers-menu-max-size 10
- "*Maximum number of entries which may appear on the Buffers menu.
-If this is 10, then only the ten most-recently-selected buffers are shown.
-If this is nil, then all buffers are shown.
-A large number or nil slows down menu responsiveness."
- :type '(choice integer
- (const :tag "All" nil))
- :group 'mouse)
-
;; Don't clobber an existing menu-bar keymap, to preserve any menu-bar key
;; definitions made in loaddefs.el.
(or (lookup-key global-map [menu-bar])
@@ -1482,7 +1471,7 @@ using `abort-recursive-edit'."
(defcustom yank-menu-length 20
"*Maximum length to display in the yank-menu."
:type 'integer
- :group 'mouse)
+ :group 'menu)
(defun menu-bar-update-yank-menu (string old)
(let ((front (car (cdr yank-menu)))
@@ -1519,6 +1508,26 @@ The menu shows all the killed text sequences stored in `kill-ring'."
(insert last-command-event))
+;;; Buffers Menu
+
+(defcustom buffers-menu-max-size 10
+ "*Maximum number of entries which may appear on the Buffers menu.
+If this is 10, then only the ten most-recently-selected buffers are shown.
+If this is nil, then all buffers are shown.
+A large number or nil slows down menu responsiveness."
+ :type '(choice integer
+ (const :tag "All" nil))
+ :group 'menu)
+
+(defcustom buffers-menu-buffer-name-length 30
+ "*Maximum length of the buffer name on the Buffers menu.
+If this is a number, then buffer names are truncated to this length.
+If this is nil, then buffer names are shown in full.
+A large number or nil makes the menu too wide."
+ :type '(choice integer
+ (const :tag "Full length" nil))
+ :group 'menu)
+
(defcustom buffers-menu-show-directories 'unless-uniquify
"If non-nil, show directories in the Buffers menu for buffers that have them.
The special value `unless-uniquify' means that directories will be shown
@@ -1606,11 +1615,16 @@ Buffers menu is regenerated."
(unless (eq ?\s (aref name 0))
(push (menu-bar-update-buffers-1
(cons buf
- (if (> (length name) 27)
- (concat (substring name 0 12)
- "..."
- (substring name -12))
- name)))
+ (if (and (integerp buffers-menu-buffer-name-length)
+ (> (length name) buffers-menu-buffer-name-length))
+ (concat
+ (substring
+ name 0 (/ buffers-menu-buffer-name-length 2))
+ "..."
+ (substring
+ name (- (/ buffers-menu-buffer-name-length 2))))
+ name)
+ ))
alist))))
;; Now make the actual list of items.
(let ((buffers-vec (make-vector (length alist) nil))