Commit c595f69a authored by Miles Bader's avatar Miles Bader
Browse files

(mode-line-window-height-fudge):

  Function removed.
(height-affecting-face-attributes, mode-line-window-height-fudge):
  Variables removed.
parent 24b0afdc
......@@ -280,59 +280,6 @@ to the window's right, if any. No arg means split equally."
(and size (< size 0)
(setq size (+ (window-width) size)))
(split-window-save-restore-data (split-window nil size t) old-w)))
(defcustom mode-line-window-height-fudge nil
"*Fudge factor returned by `mode-line-window-height-fudge' on graphic displays.
If non-nil, it should be the number of lines to add to the sizes of
windows to compensate for the extra height of the mode-line, so it
doesn't't obscure the last line of text.
If nil, an attempt is made to calculate reasonable value.
This is a kluge."
:type '(choice (const :tag "Guess" nil)
(integer :tag "Extra lines" :value 1))
:group 'windows)
;; List of face attributes that might change a face's height
(defconst height-affecting-face-attributes
'(:family :height :box :font :inherit))
(defsubst mode-line-window-height-fudge (&optional face)
"Return a fudge factor to compensate for the extra height of graphic mode-lines.
On a non-graphic display, return 0.
FACE is the face used to display the mode-line; it defaults to `mode-line'.
If the variable `mode-line-window-height-fudge' has a non-nil value, it
is returned. Otherwise, the `mode-line' face is checked to see if it
contains any attributes that might affect its height; if it does, 1 is
returned, otherwise 0.
\[Because mode-lines on a graphics capable display may have a height
larger than a normal text line, a window who's size is calculated to
exactly show some text, including 1 line for the mode-line, may be
displayed with the last text line obscured by the mode-line.
To work-around this problem, call `mode-line-window-height-fudge', and
add the return value to the requested window size.]
This is a kluge."
(if (display-graphic-p)
(or
;; Return user-specified value
mode-line-window-height-fudge
;; Try and detect whether mode-line face has any attributes that
;; could make it bigger than a default text line, and return a
;; fudge factor of 1 if so.
(let ((attrs height-affecting-face-attributes)
(fudge 0))
(while attrs
(let ((val (face-attribute (or face 'mode-line) (pop attrs))))
(unless (or (null val) (eq val 'unspecified))
(setq fudge 1 attrs nil))))
fudge))
0))
(defun set-window-text-height (window height)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment