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


Message #14 received at 52666 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Eli Zaretskii <eliz <at> gnu.org>, Markus Triska <triska <at> metalevel.at>
Cc: 52666 <at> debbugs.gnu.org
Subject: Re: bug#52666: 27.0.50; Unexpected mode line flickering when creating
 frames
Date: Mon, 20 Dec 2021 18:21:50 +0100
> I think the child frame is first placed in some location determined by
> the WM, and then moved to the place the code says.  Martin, is that
> so?

Not really - the frame should be placed correctly from the outset.  The
code has two problems: Using 'set-frame-width' and 'set-frame-height'
immediately after the frame has been created is bad karma and should be
avoided at all costs.  The right approach is

(while t
  (let ((f (make-frame `((parent-frame . ,(selected-frame))
                         (left . 200)
                         (top . 200)
			 (width . 200)
			 (height . 200)))))
    (sit-for 0.3)
    (delete-frame f)))

> If I'm right, then the flickering of the parent frame is when the
> child frame intersects some of its elements.

This is the second problem: 200 x 200 is way too large for the parent
frame so the WM has to clip the child frame and where it overlaps with
the parent frame it probably induces some sort of expose event that
eventually causes the flicker.

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.