GNU bug report logs - #52666
27.0.50; Unexpected mode line flickering when creating frames

Previous Next

Package: emacs;

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

From: martin rudalics <rudalics <at> gmx.at>
To: Markus Triska <triska <at> metalevel.at>, 52666 <at> debbugs.gnu.org
Subject: bug#52666: 27.0.50; Unexpected mode line flickering when creating frames
Date: Mon, 20 Dec 2021 10:18:48 +0100
> 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.