emacs - How to make *Buffer List* appear below the other windows? -
so, instead of creating split window under (or right of) active window, appear below existed ones half of frame height? and, after closing, frame layout restored before calling c-x c-b?
i’d see full paths opened files.
see previous answer related issue: https://stackoverflow.com/a/21544307/2112489
see related answer @phils, includes nice halve-other-window-height
function: https://stackoverflow.com/a/4988206/2112489
see built-in stock functions display-buffer-below-selected
or display-buffer-at-bottom
, available in recent version of emacs trunk -- i'm not sure when each function first introduced. in window.el
.
the doc-string of function split-window
states in relevant part: size defaults half of window's size. second optional argument -- i.e., split-window (&optional window size side pixelwise)
don't shy modifying these things -- can make whatever want. if want select window automatically after displayed, can add bottom of lawlist-display-buffer-below
function: (select-window (get-buffer-window (buffer-name buffer)))
-- leaving, of course, 2 closing parenthesis right -- i.e., 1 closing parentheis let
binding , 1 closing parenthesis defun
.
(defun lawlist-list-buffers-below (&optional arg) "display list of existing buffers. list displayed in buffer named \"*buffer list*\". see `buffer-menu' description of buffer menu. default, buffers listed except names start space (which internal use). prefix argument arg, show buffers visiting files." (interactive "p") (lawlist-display-buffer-below (list-buffers-noselect arg) nil)) (defun lawlist-display-buffer-below (buffer alist) (let ( (window (cond ((get-buffer-window buffer (selected-frame))) ((window-in-direction 'below)) (t (split-window (selected-window) nil 'below))))) (window--display-buffer buffer window 'window alist display-buffer-mark-dedicated)))
Comments
Post a Comment