Function: hycontrol-window-display-buffer

hycontrol-window-display-buffer is a byte-compiled function defined in hycontrol.el.

Signature

(hycontrol-window-display-buffer WINDOW)

Documentation

Given a WINDOW, choose the next appropriate buffer to display.

If WINDOW is dedicated, ignore it and do nothing.

Uses hycontrol--buffer-list'.

When hycontrol--invert-display-buffer-predicates is non-nil and not
'ignore, the list of buffers used is further filtered using the
functions and sexpressions in hycontrol-display-buffer-predicate-list, which by default filters a frame's buffers to just those with attached files.

Filtering is disabled if a specific list of buffers is sent to the hycontrol-make-windows-grid function that calls this.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hycontrol.el
(defun hycontrol-window-display-buffer (window)
  "Given a WINDOW, choose the next appropriate buffer to display.
If WINDOW is dedicated, ignore it and do nothing.

Uses hycontrol--buffer-list'.

When `hycontrol--invert-display-buffer-predicates' is non-nil and not
\\='ignore, the list of buffers used is further filtered using the
functions and sexpressions in `hycontrol-display-buffer-predicate-list',
which by default filters a frame's buffers to just those with attached
files.

Filtering is disabled if a specific list of buffers is sent to the
`hycontrol-make-windows-grid' function that calls this."
  (unless (or (null window) (window-dedicated-p window))
    (let ((buf (car hycontrol--buffer-list-pointer)))
      (setq hycontrol--buffer-list-pointer (cdr hycontrol--buffer-list-pointer))
      (while (and buf (or (= (aref (buffer-name buf) 0) ?\ )
			  (and (not hycontrol--invert-display-buffer-predicates)
			       (not (eval (cons 'or (hycontrol-display-buffer-predicate-results buf)))))
			  (and hycontrol--invert-display-buffer-predicates
			       (not (eq hycontrol--invert-display-buffer-predicates 'ignore))
			       (eval (cons 'or (hycontrol-display-buffer-predicate-results buf))))))
	;; Buffer is not one to display, get the next one and test again.
	(setq buf (car hycontrol--buffer-list-pointer)
	      hycontrol--buffer-list-pointer (cdr hycontrol--buffer-list-pointer)))
      (set-window-buffer window
			 (or buf
			     ;; Out of buffers to display, display a blank one
			     hycontrol--blank-buffer)))))