Continue to play with window placement
This commit is contained in:
parent
45d59c8da2
commit
e6d5a257fc
43
README.org
43
README.org
@ -506,25 +506,30 @@ window placement. Listing [[lst:1st-window-management]] and
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(with-eval-after-load 'emacs
|
(with-eval-after-load 'emacs
|
||||||
;; https://www.masteringemacs.org/article/demystifying-emacs-window-manager
|
;; https://www.masteringemacs.org/article/demystifying-emacs-window-manager
|
||||||
(defun split-below (arg)
|
(defun split-root-below (arg)
|
||||||
"Split window below from the parent or from root with ARG."
|
"Split window below from the root or from the parent with ARG."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(split-window (if arg (frame-root-window)
|
(split-window (if arg (window-parent (selected-window))
|
||||||
(window-parent (selected-window)))
|
(frame-root-window))
|
||||||
nil 'below nil))
|
nil 'below nil))
|
||||||
|
|
||||||
(defun split-right (arg)
|
(defun split-root-right (arg)
|
||||||
"Split window right from the parent or from root with ARG."
|
"Split window right from the root or from the parent with ARG."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(split-window (if arg (frame-root-window)
|
(split-window (if arg (window-parent (selected-window))
|
||||||
(window-parent (selected-window)))
|
(frame-root-window))
|
||||||
nil 'right nil))
|
nil 'right nil))
|
||||||
|
|
||||||
(defun toggle-window-dedication ()
|
(defun toggle-window-dedication ()
|
||||||
"Toggles window dedication in the selected window."
|
"Toggles window dedication in the selected window."
|
||||||
(interactive)
|
(interactive)
|
||||||
(set-window-dedicated-p (selected-window)
|
(set-window-dedicated-p
|
||||||
(not (window-dedicated-p (selected-window))))))
|
(selected-window) (not (window-dedicated-p (selected-window)))))
|
||||||
|
|
||||||
|
(defun make-display-buffer-matcher-function (major-modes)
|
||||||
|
"Return a lambda function to match a list of MAJOR-MODES."
|
||||||
|
(lambda (buffer-name action)
|
||||||
|
(with-current-buffer buffer-name (apply #'derived-mode-p major-modes)))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+caption[Window management variables]:
|
#+caption[Window management variables]:
|
||||||
@ -538,9 +543,21 @@ window placement. Listing [[lst:1st-window-management]] and
|
|||||||
'(switch-to-buffer-obey-display-actions t))
|
'(switch-to-buffer-obey-display-actions t))
|
||||||
|
|
||||||
(add-to-list 'display-buffer-alist
|
(add-to-list 'display-buffer-alist
|
||||||
'("\\*Help\\*"
|
`(,(rx (or "*Apropos*"
|
||||||
|
"*Help*"
|
||||||
|
"*info"))
|
||||||
(display-buffer-reuse-window display-buffer-pop-up-window)
|
(display-buffer-reuse-window display-buffer-pop-up-window)
|
||||||
(inhibit-same-window . nil))))
|
(inhibit-same-window . nil)))
|
||||||
|
(add-to-list 'display-buffer-alist
|
||||||
|
`(,(rx (or "*Occur*"
|
||||||
|
"*grep*"
|
||||||
|
"*xref*"))
|
||||||
|
display-buffer-reuse-window
|
||||||
|
(inhibit-same-window . nil)))
|
||||||
|
(add-to-list 'display-buffer-alist
|
||||||
|
'("\\*compilation\\*"
|
||||||
|
display-buffer-no-window
|
||||||
|
(allow-no-window . t))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* [[info:elisp#Advising Functions][Advising Functions (info)]]
|
* [[info:elisp#Advising Functions][Advising Functions (info)]]
|
||||||
|
Loading…
Reference in New Issue
Block a user