emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r108208: Fix mouse links in new Buffe


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r108208: Fix mouse links in new Buffer Menu.
Date: Sat, 12 May 2012 23:04:11 +0800
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 108208
fixes bug(s): http://debbugs.gnu.org/11459
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sat 2012-05-12 23:04:11 +0800
message:
  Fix mouse links in new Buffer Menu.
  
  * buff-menu.el (Buffer-menu-mouse-select): Restore function.
  (Buffer-menu-mode-map): Bind it.
  (Buffer-menu--pretty-name): Add a mouse-face property.
modified:
  lisp/ChangeLog
  lisp/buff-menu.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-05-12 14:28:04 +0000
+++ b/lisp/ChangeLog    2012-05-12 15:04:11 +0000
@@ -1,6 +1,9 @@
 2012-05-12  Chong Yidong  <address@hidden>
 
        * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454).
+       (Buffer-menu-mouse-select): Restore function (Bug#11459).
+       (Buffer-menu-mode-map): Bind it.
+       (Buffer-menu--pretty-name): Add a mouse-face property.
 
 2012-05-11  Stefan Monnier  <address@hidden>
 

=== modified file 'lisp/buff-menu.el'
--- a/lisp/buff-menu.el 2012-05-12 14:28:04 +0000
+++ b/lisp/buff-menu.el 2012-05-12 15:04:11 +0000
@@ -130,6 +130,9 @@
     (define-key map (kbd "M-s a C-s")   'Buffer-menu-isearch-buffers)
     (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp)
 
+    (define-key map [mouse-2] 'Buffer-menu-mouse-select)
+    (define-key map [follow-link] 'mouse-face)
+
     (define-key map [menu-bar Buffer-menu-mode] (cons (purecopy "Buffer-Menu") 
menu-map))
     (define-key menu-map [quit]
       `(menu-item ,(purecopy "Quit") quit-window
@@ -565,6 +568,17 @@
       (tabulated-list-print))
     buffer))
 
+(defun Buffer-menu-mouse-select (event)
+  "Select the buffer whose line you click on."
+  (interactive "e")
+  (select-window (posn-window (event-end event)))
+  (let ((buffer (tabulated-list-get-id (posn-point (event-end event)))))
+    (when (buffer-live-p buffer)
+      (if (and (window-dedicated-p (selected-window))
+              (eq (selected-window) (frame-root-window)))
+         (switch-to-buffer-other-frame buffer)
+       (switch-to-buffer buffer)))))
+
 (defun list-buffers--refresh (&optional buffer-list old-buffer)
   ;; Set up `tabulated-list-format'.
   (let ((name-width Buffer-menu-name-width)
@@ -617,7 +631,9 @@
      (string-to-number (aref (cadr entry2) 4))))
 
 (defun Buffer-menu--pretty-name (name)
-  (propertize name 'font-lock-face 'buffer-menu-buffer))
+  (propertize name
+             'font-lock-face 'buffer-menu-buffer
+             'mouse-face 'highlight))
 
 (defun Buffer-menu--pretty-file-name (file)
   (cond (file


reply via email to

[Prev in Thread] Current Thread [Next in Thread]