GNU bug report logs -
#66141
29.1; Window size properties not set immediately for window in new frame
Previous Next
Reported by: Mattias Nyrell <mattias <at> nyrell.se>
Date: Thu, 21 Sep 2023 16:20:02 UTC
Severity: normal
Found in version 29.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Please use Reply All to reply, to keep the bug tracer CC'ed.]
> Date: Thu, 21 Sep 2023 20:48:19 +0200
> From: Mattias Nyrell <mattias <at> nyrell.se>
>
>
>
> On 2023-09-21 18:39, Eli Zaretskii wrote:
> >> Date: Thu, 21 Sep 2023 18:16:01 +0200
> >> From: Mattias Nyrell <mattias <at> nyrell.se>
> >>
> >> Starting from emacs -Q, enter the following in *scratch*:
> >>
> >> (let ((f (make-frame '((fullscreen . maximized)))))
> >> (select-frame-set-input-focus f)
> >> (message "window-body-width=%s" (window-body-width))
> >> (sleep-for 1)
> >> (message "window-body-width=%s" (window-body-width)) )
> >>
> >> Execute with C-x C-e
> >>
> >> Result:
> >> - A new frame is created.
> >> - The message "window-body-width=80" is printed
> >> - The message "window-body-width=190" is printed (exact value depending
> >> on screen size of course)
> >>
> >> Expected result:
> >> The first printed message should be the same as the second printed message.
> > Isn't it because the actual resizing of the frame is done by the
> > window-system, and we can only ask it to do so?
> >
> > IOW, I think your expectation is incorrect, as it assumes that frame
> > move/resize operations are executed immediately.
> I have no idea, but your explanation sounds very reasonable and it is
> probably right!
>
> Is there a way to get notified when the resize operation has finished?
> Or is sleeping for a short while a reasonable solution?
Yes, calling sleep-for is one way. I would also suggest to try
(sit-for 0)
If that works, it is faster.
This bug report was last modified 1 year and 239 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.