GNU bug report logs -
#4543
window-full-height-p
Previous Next
Reported by: Glenn Morris <rgm <at> gnu.org>
Date: Thu, 24 Sep 2009 03:50:04 UTC
Severity: wishlist
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>> `window-full-width-p' is based on the definition
>>
>> /* Total width of frame F, in columns (characters),
>> including the width used by scroll bars if any. */
>>
>> #define FRAME_TOTAL_COLS(f) ((f)->total_cols)
>>
>> from frame.h whose semantics I don't understand. Not really simple.
>
> Maybe I can help. What is the difficulty with the semantics of this
> attribute of a frame?
It's merely how this is set in `change_frame_size_1' which does
SET_FRAME_COLS (f, newwidth);
where
#define SET_FRAME_COLS(f, val) \
(FRAME_COLS (f) = (val), \
(f)->total_cols = FRAME_TOTAL_COLS_ARG (f, FRAME_COLS (f)))
and
#define FRAME_TOTAL_COLS_ARG(f, width) \
((width) \
+ FRAME_SCROLL_BAR_COLS (f) \
+ FRAME_FRINGE_COLS (f))
and
#define FRAME_SCROLL_BAR_COLS(f) \
(FRAME_HAS_VERTICAL_SCROLL_BARS (f) \
? FRAME_CONFIG_SCROLL_BAR_COLS (f) \
: 0)
etc ... What are the scrollbars of a frame, I'm asking myself. If we
define a frame as a collection of windows and frame-width as the width
of the widest window in that frame, things are deceptively simple. But
the calculations sketched above are a little over my head.
> What's wrong with this (taken from frame.c:frame-parameters) as the
> frame height:
>
> height = (f->new_text_lines ? f->new_text_lines : FRAME_LINES (f));
new_text_lines is for a pending size change and zero otherwise. You
probably mean text_lines whose precise semantics I don't know - what are
canonical characters?
> and then subtract from it the height of the minibuffer window?
>
> The C variable `minibuf_window' should give you the Lisp object that
> holds the minibuffer window, and its `total_lines' attribute should
> give you the height of that window. Or am I missing something?
Then why not use the height of the frame-root-window directly? No need
to subtract one value from the other.
martin
This bug report was last modified 15 years and 270 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.