GNU bug report logs -
#52666
27.0.50; Unexpected mode line flickering when creating frames
Previous Next
Reported by: Markus Triska <triska <at> metalevel.at>
Date: Sun, 19 Dec 2021 20:31:01 UTC
Severity: normal
Found in version 27.0.50
Done: Markus Triska <triska <at> metalevel.at>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> to reproduce this issue, please put the following form in a new file
> flicker.el:
>
> (while t
> (let ((f (make-frame `((parent-frame . ,(selected-frame))
> (left . 200)
> (top . 200)))))
> (set-frame-width f 200 nil t)
> (set-frame-height f 200 nil t)
> (sit-for 0.3)
> (delete-frame f)))
>
> and then invoke Emacs with:
>
> $ emacs -Q -l flicker.el
>
> The form repeatedly creates and destroys a child frame, offset 200
> pixels both horizontally and vertically from the top left corner of the
> frame.
>
> Unexpectedly, the mode line flickers in many (though apparently not all)
> iterations, starting at 200 pixels horizontally from the left, even
> though the frame does not overlap the mode line in any way.
>
> Ideally, the creation of the frame should not have any visible effect on
> the mode line.
I can reproduce the flickering with a GTK build where the child frame
never appears at all. I cannot reproduce it with a Lucid build where
the child frame appears shortly and gets deleted as expected. In either
case the mode line is redrawn because it changes from active to inactive
and back.
> Could the pleasant double buffering feature I have read about help to
> remove this flickering when creating child frames? Please let me know if
> you can reproduce the issue or need any further information. I can
> reproduce the flickering both on OSX and on Debian.
The (sit-for 0.3) might conflict with 'x-wait-for-event-timeout' so
playing around with the latter could help. BTW is yours really a Lucid
build on a Mac?
martin
This bug report was last modified 3 years and 149 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.