mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Fix NS child frame in native fullscreen (bug#36672)
* 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.
This commit is contained in:
parent
3db5a51384
commit
bbc48b2634
3 changed files with 100 additions and 17 deletions
|
|
@ -2688,11 +2688,7 @@ See also `toggle-frame-maximized'."
|
|||
(set-frame-parameter frame 'fullscreen fullscreen-restore)
|
||||
(set-frame-parameter frame 'fullscreen nil)))
|
||||
(modify-frame-parameters
|
||||
frame `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen))))
|
||||
;; Manipulating a frame without waiting for the fullscreen
|
||||
;; animation to complete can cause a crash, or other unexpected
|
||||
;; behavior, on macOS (bug#28496).
|
||||
(when (featurep 'cocoa) (sleep-for 0.5))))
|
||||
frame `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen))))))
|
||||
|
||||
|
||||
;;;; Key bindings
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue