GNU bug report logs -
#48413
28.0.50; emacs does not repaint the window after switching workspaces in Xmonad
Previous Next
Reported by: Platon Pronko <platon7pronko <at> gmail.com>
Date: Fri, 14 May 2021 08:33:02 UTC
Severity: normal
Tags: fixed
Found in version 28.0.50
Fixed in version 28.1
Done: Stefan Kangas <stefan <at> marxist.se>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>> Can you please try the attached patch and tell me whether it improves or
>> breaks things.
>
> Yes, it fixes things - frame is repainted correctly now.
>
> My attempt was similar, but I included more code alongside SET_FRAME_VISIBLE (same as in Expose handler):
>
> + block_input ();
> + SET_FRAME_VISIBLE (f, 1);
> + if (FRAME_X_DOUBLE_BUFFERED_P (f))
> + font_drop_xrender_surfaces (f);
> + f->output_data.x->has_been_visible = true;
> + SET_FRAME_GARBAGED (f);
> + unblock_input ();
>
> I'm not very familiar with Emacs frame internals - we don't need all these here?
If I only knew. If you come up with a patch that works OK for you and
does not break the
(defvar frame (make-frame))
(make-frame-invisible frame)
(frame-visible-p frame)
scenario (where the latter returns 'icon) I want to fix here, I'll
happily install that.
>> Relying on these for setting visibility will fail for anyone who doesn't
>> send us an Expose event.
>
> I agree, feels a little fragile.
It apparently has not bitten us so far but the Xlib manual is not very
clear in this regard.
martin
This bug report was last modified 3 years and 294 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.