Mercurial > emacs
changeset 94641:0280cb8774cc
(delete-other-windows-vertically): New function.
author | Sam Steingold <sds@gnu.org> |
---|---|
date | Mon, 05 May 2008 20:12:24 +0000 |
parents | 4ee3432d1e09 |
children | 5764dc01ed88 |
files | lisp/ChangeLog lisp/window.el |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon May 05 19:27:54 2008 +0000 +++ b/lisp/ChangeLog Mon May 05 20:12:24 2008 +0000 @@ -1,3 +1,7 @@ +2008-05-05 Sam Steingold <sds@gnu.org> + + * window.el (delete-other-windows-vertically): New function. + 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca> * dired.el (dired-read-dir-and-switches):
--- a/lisp/window.el Mon May 05 19:27:54 2008 +0000 +++ b/lisp/window.el Mon May 05 20:12:24 2008 +0000 @@ -1095,6 +1095,21 @@ (run-hooks 'mouse-leave-buffer-hook)) (select-window window)))) +(defun delete-other-windows-vertically (&optional window) + "Delete the windows in the same column with WINDOW, but not WINDOW itself. +This may be a useful alternative binding for \\[delete-other-windows] + if you often split windows horizontally." + (interactive) + (let* ((window (or window (selected-window))) + (edges (window-edges window)) + (w window) delenda) + (while (not (eq (setq w (next-window w 1)) window)) + (let ((e (window-edges w))) + (when (and (= (car e) (car edges)) + (= (caddr e) (caddr edges))) + (push w delenda)))) + (mapc 'delete-window delenda))) + (define-key ctl-x-map "2" 'split-window-vertically) (define-key ctl-x-map "3" 'split-window-horizontally) (define-key ctl-x-map "}" 'enlarge-window-horizontally)