feature/popup: tweak popup rules, add +popup-shrink-to-fit
+popup-shrink-to-fit wraps shrink-window-if-larger-than-buffer, and won't do anything if the buffer is empty.
This commit is contained in:
parent
b11101d9cf
commit
5a420faa0f
3 changed files with 15 additions and 3 deletions
|
@ -82,7 +82,9 @@
|
|||
|
||||
;; `org'
|
||||
(after! org
|
||||
(set! :popup "^ ?\\*Org \\(todo\\|Links\\)" '((slot . -1) (size . shrink-window-if-larger-than-buffer)))
|
||||
(set! :popup "^\\*Org \\(?:Links\\|Export Dispatcher\\|Select\\)"
|
||||
'((slot . -1) (size . +popup-shrink-to-fit))
|
||||
'((select)))
|
||||
(set! :popup "^\\*Org Agenda" '((slot . -1) (size . 20)))
|
||||
(set! :popup "^\\*Org Src" '((size . 0.3)) '((quit) (select . t)))
|
||||
|
||||
|
|
|
@ -144,6 +144,16 @@ with ARGS to get its return value."
|
|||
"Returns a list of all popup windows."
|
||||
(cl-remove-if-not #'+popup-p (window-list)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +popup-shrink-to-fit (&optional window)
|
||||
"Shrinks WINDOW to fit the buffer contents, if the buffer isn't empty.
|
||||
|
||||
Uses `shrink-window-if-larger-than-buffer'."
|
||||
(unless window
|
||||
(setq window (selected-window)))
|
||||
(unless (= (- (point-max) (point-min)) 0)
|
||||
(shrink-window-if-larger-than-buffer window)))
|
||||
|
||||
|
||||
;;
|
||||
;; Minor mode
|
||||
|
|
|
@ -137,7 +137,7 @@ ALIST supports one custom parameter: `size', which will resolve to
|
|||
;;
|
||||
|
||||
(eval-when-compile
|
||||
(set! :popup "^ \\*" '((slot . -1)))
|
||||
(set! :popup "^ \\*" '((slot . -1) (size . +popup-shrink-to-fit)))
|
||||
(set! :popup "^\\*" nil '((select . t)))
|
||||
(set! :popup "^\\*Completions" '((slot . -1)) '((transient . 0)))
|
||||
(set! :popup "^\\*Compilation" nil '((transient . 0) (quit . t)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue