• Andrii Kolomoiets's avatar
    Fix NS child frame in native fullscreen (bug#36672) · bbc48b26
    Andrii Kolomoiets authored
    * lisp/frame.el (toggle-frame-fullscreen): Don't sleep on cocoa.
    Fullscreen animation waiting is moved to src/nsterm.m.
    * src/nsterm.h (EmacsView): Add in_fullscreen_transition,
    inFullScreenTransition, waitFullScreenTransition.
    (NSWindowCollectionBehaviorFullScreenAuxiliary): New define.
    * src/nsterm.m (ns_make_frame_visible): Wait for fullscreen animation.
    (ns_set_parent_frame): Set frame collection behavior; make child frames
    non-fullscreen; make non-child frames fullscreen if parent was fullscreen.
    ([EmacsView initFrameFromEmacs]): Set in_fullscreen_transition; set frame
    collection behavior according to parent frame.
    ([EmacsView windowDidMove]): Remove code by commenting with "fixme".
    ([EmacsView windowWillEnterFullScreen], [EmacsView windowDidEnterFullScreen])
    ([EmacsView windowWillExitFullScreen], [EmacsView windowDidExitFullScreen]):
    Set in_fullscreen_transition.
    ([EmacsView inFullScreenTransition], [EmacsView waitFullScreenTransition]):
    New methods.
    ([EmacsView updateCollectionBehavior]): Set collection behavior according to
    parent frame.
    ([EmacsView toggleFullScreen]): Wait for fullscreen animation.
    bbc48b26
nsterm.h 45.3 KB