GNU bug report logs - #19972
24.4; Font size change doesn't update (window-total-width)

Previous Next

Package: emacs;

Reported by: Joost Kremers <joostkremers <at> fastmail.fm>

Date: Sun, 1 Mar 2015 02:32:02 UTC

Severity: normal

Found in version 24.4

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


Message #173 received at 19972 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: steve <at> sanityinc.com, jan.h.d <at> swipnet.se, 19972 <at> debbugs.gnu.org
Subject: Re: bug#19972: Font size change doesn't update (window-total-width)
Date: Tue, 03 Mar 2015 20:02:05 +0200
> Date: Tue, 03 Mar 2015 18:47:21 +0100
> From: martin rudalics <rudalics <at> gmx.at>
> CC: steve <at> sanityinc.com, 19972 <at> debbugs.gnu.org
> 
>  > But I don't see anything like that on MS-Windows: we do have a call to
>  > change_frame_size when we receive a WM_SIZE message, but running the
>  > recipe in this thread doesn't cause WM_SIZE to be received,
> 
> There should be one for a normally sized frame.

We don't do anything with it, probably because the frame was already
resized.

>  > Martin, can you tell what is the equivalent of the above X processing
>  > on MS-Windows?  Does Emacs implement a similar logic internally?
> 
> I'm not sure I understand what you mean.  Basically, on Windows we
> process the sizes immediately when issuing a size request.  "Process" in
> this context means to store the sizes in the frame structure and resize
> the frame's windows accordingly.
> 
> We do that in the change_frame_size call on line 6173 of w32term.c
> (because Drew wanted to see the possible future effect immediately in
> the frame sizes).  When Windows gets back to us via a WM_SIZE message we
> might eventually call change_frame_size too (on line 5180 of w32term.c)
> but do so only if the requested sizes differ from the already stored
> ones.  The sizes usually differ when the request was initiated by
> Windows (like when the user clicks at the maximize button or mouse-drags
> a frame edge) and usually do not differ when the request was initiated
> by Lisp code before.

IOW, we don't wait with a resize until we get a notification, but
instead resize the frame itself, and then might resize again when we
receive WM_SIZE.  Question: why not wait for WM_SIZE, and only resize
after it arrives?  That would emulate better what X does, and also
prevent the second resize.  No?

> When I asked you back then whether we could implement something similar
> to the X code on Windows you told me that Windows doesn't have anything
> comparable to ConfigureNotify so I didn't pursue the idea any further.

I don't remember saying that (and don't know X well enough to make
such assertions to begin with), but in any case, you just explained
that I was wrong, and there is a Windows message equivalent to
ConfigureNotify.




This bug report was last modified 7 years and 236 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.