• Martin Rudalics's avatar
    Handle Bug#24526 without breaking Emacs on tiling WMs (Bug#48268) · b41f39d2
    Martin Rudalics authored
    Since tiling window managers may react allergically to resize
    requests immediately following MapNotify events on X, make sure
    that such requests are issued only when a new frame should not
    become visible and a size has been explicitly requested for it.
    
    * lisp/faces.el (x-create-frame-with-faces): Mark frame as
    'was-invisible' if it should be initially invisible or iconified
    and has its size specified explicitly.
    * src/frame.c (make_frame): Initialize new frame's was_invisible
    flag.
    (Fframe__set_was_invisible): New internal function.
    * src/frame.h (struct frame): Specify size of new_size_p slot.
    New flag was_invisible.
    * src/w32fns.c (Fx_create_frame)
    * src/nsfns.m (Fx_create_frame)
    * src/xfns.c (Fx_create_frame): Set new frame's was_invisible
    flag.
    * src/xterm.c (handle_one_xevent): Call xg_frame_set_char_size
    after a PropertyNotify or MapNotify event only if F's
    was_invisible flag was set.
    b41f39d2
xterm.c 406 KB