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
Message #17 received at 66141 <at> debbugs.gnu.org (full text, mbox):
On 2023-09-21 21:04, Mattias Nyrell wrote:
>
>
> On 2023-09-21 20:51, Eli Zaretskii wrote:
>> [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.
> Ok, thank you!
>
> /Mattias
I tried (sit-for 0) and even (sit-for 5), but none of those worked.
(sleep-for 0.1) or (sleep-for 0) worked for me.
/Mattias
This bug report was last modified 1 year and 240 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.