Function: window--pixel-to-total-1
window--pixel-to-total-1 is a byte-compiled function defined in
window.el.gz.
Signature
(window--pixel-to-total-1 WINDOW HORIZONTAL CHAR-SIZE)
Documentation
Subroutine of window--pixel-to-total.
Source Code
;; Defined in /usr/src/emacs/lisp/window.el.gz
(defun window--pixel-to-total-1 (window horizontal char-size)
"Subroutine of `window--pixel-to-total'."
(let ((child (window-child window)))
(if (window-combination-p window horizontal)
;; In an iso-combination distribute sizes proportionally.
(let ((remainder (window-new-total window))
size best-child rem best-rem)
;; Initialize total sizes to each child's floor.
(while child
(setq size (max (/ (window-size child horizontal t) char-size) 1))
(set-window-new-total child size)
(setq remainder (- remainder size))
(setq child (window-next-sibling child)))
;; Distribute remainder.
(while (> remainder 0)
(setq child (window-last-child window))
(setq best-child nil)
(setq best-rem 0)
(while child
(when (and (<= (window-new-total child)
(/ (window-size child horizontal t) char-size))
(> (setq rem (% (window-size child horizontal t)
char-size))
best-rem))
(setq best-child child)
(setq best-rem rem))
(setq child (window-prev-sibling child)))
;; We MUST have a best-child here.
(set-window-new-total best-child 1 t)
(setq remainder (1- remainder)))
;; Recurse.
(setq child (window-child window))
(while child
(window--pixel-to-total-1 child horizontal char-size)
(setq child (window-next-sibling child))))
;; In an ortho-combination assign new sizes directly.
(let ((size (window-new-total window)))
(while child
(set-window-new-total child size)
(window--pixel-to-total-1 child horizontal char-size)
(setq child (window-next-sibling child)))))))