Date: Thu, 21 Sep 2023 20:48:19 +0200
From: Mattias Nyrell <mattias@nyrell.se>
On 2023-09-21 18:39, Eli Zaretskii wrote:
Date: Thu, 21 Sep 2023 18:16:01 +0200
From: Mattias Nyrell <mattias@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?