mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
* lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.
(Bug#29986)
This commit is contained in:
parent
ad283dfb22
commit
30e6e312d9
1 changed files with 16 additions and 17 deletions
|
|
@ -2322,7 +2322,6 @@ command starts, by installing a pre-command hook."
|
|||
(blink-cursor-suspend)
|
||||
(add-hook 'post-command-hook 'blink-cursor-check)))
|
||||
|
||||
|
||||
(defun blink-cursor-end ()
|
||||
"Stop cursor blinking.
|
||||
This is installed as a pre-command hook by `blink-cursor-start'.
|
||||
|
|
@ -2384,12 +2383,11 @@ terminals, cursor blinking is controlled by the terminal."
|
|||
(add-hook 'focus-out-hook #'blink-cursor-suspend)
|
||||
(blink-cursor--start-idle-timer)))
|
||||
|
||||
|
||||
|
||||
;; Frame maximization/fullscreen
|
||||
|
||||
(defun toggle-frame-maximized ()
|
||||
"Toggle maximization state of selected frame.
|
||||
(defun toggle-frame-maximized (&optional frame)
|
||||
"Toggle maximization state of FRAME.
|
||||
Maximize selected frame or un-maximize if it is already maximized.
|
||||
|
||||
If the frame is in fullscreen state, don't change its state, but
|
||||
|
|
@ -2404,19 +2402,19 @@ transitions from one fullscreen state to another.
|
|||
|
||||
See also `toggle-frame-fullscreen'."
|
||||
(interactive)
|
||||
(let ((fullscreen (frame-parameter nil 'fullscreen)))
|
||||
(let ((fullscreen (frame-parameter frame 'fullscreen)))
|
||||
(cond
|
||||
((memq fullscreen '(fullscreen fullboth))
|
||||
(set-frame-parameter nil 'fullscreen-restore 'maximized))
|
||||
(set-frame-parameter frame 'fullscreen-restore 'maximized))
|
||||
((eq fullscreen 'maximized)
|
||||
(set-frame-parameter nil 'fullscreen nil))
|
||||
(set-frame-parameter frame 'fullscreen nil))
|
||||
(t
|
||||
(set-frame-parameter nil 'fullscreen 'maximized)))))
|
||||
(set-frame-parameter frame 'fullscreen 'maximized)))))
|
||||
|
||||
(defun toggle-frame-fullscreen ()
|
||||
"Toggle fullscreen state of selected frame.
|
||||
Make selected frame fullscreen or restore its previous size if it
|
||||
is already fullscreen.
|
||||
(defun toggle-frame-fullscreen (&optional frame)
|
||||
"Toggle fullscreen state of FRAME.
|
||||
Make selected frame fullscreen or restore its previous size
|
||||
if it is already fullscreen.
|
||||
|
||||
Before making the frame fullscreen remember the current value of
|
||||
the frame's `fullscreen' parameter in the `fullscreen-restore'
|
||||
|
|
@ -2431,18 +2429,19 @@ transitions from one fullscreen state to another.
|
|||
|
||||
See also `toggle-frame-maximized'."
|
||||
(interactive)
|
||||
(let ((fullscreen (frame-parameter nil 'fullscreen)))
|
||||
(let ((fullscreen (frame-parameter frame 'fullscreen)))
|
||||
(if (memq fullscreen '(fullscreen fullboth))
|
||||
(let ((fullscreen-restore (frame-parameter nil 'fullscreen-restore)))
|
||||
(let ((fullscreen-restore (frame-parameter frame 'fullscreen-restore)))
|
||||
(if (memq fullscreen-restore '(maximized fullheight fullwidth))
|
||||
(set-frame-parameter nil 'fullscreen fullscreen-restore)
|
||||
(set-frame-parameter nil 'fullscreen nil)))
|
||||
(set-frame-parameter frame 'fullscreen fullscreen-restore)
|
||||
(set-frame-parameter frame 'fullscreen nil)))
|
||||
(modify-frame-parameters
|
||||
nil `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen))))
|
||||
frame `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen))))
|
||||
;; Manipulating a frame without waiting for the fullscreen
|
||||
;; animation to complete can cause a crash, or other unexpected
|
||||
;; behaviour, on macOS (bug#28496).
|
||||
(when (featurep 'cocoa) (sleep-for 0.5))))
|
||||
|
||||
|
||||
;;;; Key bindings
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue