[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fri, 02 Oct 2009 17:56:03 +0200
Thunderbird 188.8.131.52 (Windows/20090302)
> I think the name is OK, but the docstring needs to clearly explain what
> is the intended behavior (which, I must say, I do not know, but I guess
> it's something like "the frame is not split top-down", except we're
> talking about a window). It's more important to make sure that
> the docstring is clear and describes a useful behavior, than to make
> sure it describes the actual behavior of its current implementation.
I could come up with something like
(defun window-full-height-p (&optional window)
"Return t if WINDOW is as high as the root window of its frame.
WINDOW defaults to the selected window.
This function returns t if and only if there is no other window
above WINDOW and there is either no other window below WINDOW or
the minibuffer window appears right below WINDOW."
(setq window (selected-window)))
(= (window-height window)
(window-height (frame-root-window (window-frame window)))))
but maybe Glenn has a better idea.
>> Personally, I use a function `window-size' to return the total size of a
>> window thus avoiding such confusions:
>> DEFUN ("window-size", Fwindow_size, Swindow_size, 0, 2, 0,
>> doc: /* Return total number of lines of WINDOW.
>> WINDOW defaults to the selected window. The return values includes any
>> header- or mode-line. Optional argument HORIZONTAL non-nil means return
>> total number of columns of WINDOW. In this case the return value
>> includes any scroll-bars of WINDOW. */)
>> (window, horizontal)
>> Lisp_Object window, horizontal;
>> if (!NILP (horizontal))
>> return decode_any_window (window)->total_cols;
>> return decode_any_window (window)->total_lines;
> Seems reasonable. Where do you use it?
Most everywhere. There's no sense reasoning about fringes, margins or
scrollbars when reasoning about sizes of windows or frames. The only
function I could think of where counting text columns might have been
useful is `split-window' ...