aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2018-01-12 00:14:35 +0200
committerJuri Linkov2018-01-12 00:14:35 +0200
commit30e6e312d950400feac858e46f098f360a90d575 (patch)
treeb8cd4c6e82c46cc21f1012a59235ed8130b09f67
parentad283dfb22770e241347a2f9b00241795e5250f4 (diff)
downloademacs-30e6e312d950400feac858e46f098f360a90d575.tar.gz
emacs-30e6e312d950400feac858e46f098f360a90d575.zip
* lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.
(Bug#29986)
-rw-r--r--lisp/frame.el33
1 files changed, 16 insertions, 17 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index a28baf7ff0e..0ed7d6a64f1 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -2322,7 +2322,6 @@ command starts, by installing a pre-command hook."
2322 (blink-cursor-suspend) 2322 (blink-cursor-suspend)
2323 (add-hook 'post-command-hook 'blink-cursor-check))) 2323 (add-hook 'post-command-hook 'blink-cursor-check)))
2324 2324
2325
2326(defun blink-cursor-end () 2325(defun blink-cursor-end ()
2327 "Stop cursor blinking. 2326 "Stop cursor blinking.
2328This is installed as a pre-command hook by `blink-cursor-start'. 2327This is installed as a pre-command hook by `blink-cursor-start'.
@@ -2384,12 +2383,11 @@ terminals, cursor blinking is controlled by the terminal."
2384 (add-hook 'focus-out-hook #'blink-cursor-suspend) 2383 (add-hook 'focus-out-hook #'blink-cursor-suspend)
2385 (blink-cursor--start-idle-timer))) 2384 (blink-cursor--start-idle-timer)))
2386 2385
2387
2388 2386
2389;; Frame maximization/fullscreen 2387;; Frame maximization/fullscreen
2390 2388
2391(defun toggle-frame-maximized () 2389(defun toggle-frame-maximized (&optional frame)
2392 "Toggle maximization state of selected frame. 2390 "Toggle maximization state of FRAME.
2393Maximize selected frame or un-maximize if it is already maximized. 2391Maximize selected frame or un-maximize if it is already maximized.
2394 2392
2395If the frame is in fullscreen state, don't change its state, but 2393If the frame is in fullscreen state, don't change its state, but
@@ -2404,19 +2402,19 @@ transitions from one fullscreen state to another.
2404 2402
2405See also `toggle-frame-fullscreen'." 2403See also `toggle-frame-fullscreen'."
2406 (interactive) 2404 (interactive)
2407 (let ((fullscreen (frame-parameter nil 'fullscreen))) 2405 (let ((fullscreen (frame-parameter frame 'fullscreen)))
2408 (cond 2406 (cond
2409 ((memq fullscreen '(fullscreen fullboth)) 2407 ((memq fullscreen '(fullscreen fullboth))
2410 (set-frame-parameter nil 'fullscreen-restore 'maximized)) 2408 (set-frame-parameter frame 'fullscreen-restore 'maximized))
2411 ((eq fullscreen 'maximized) 2409 ((eq fullscreen 'maximized)
2412 (set-frame-parameter nil 'fullscreen nil)) 2410 (set-frame-parameter frame 'fullscreen nil))
2413 (t 2411 (t
2414 (set-frame-parameter nil 'fullscreen 'maximized))))) 2412 (set-frame-parameter frame 'fullscreen 'maximized)))))
2415 2413
2416(defun toggle-frame-fullscreen () 2414(defun toggle-frame-fullscreen (&optional frame)
2417 "Toggle fullscreen state of selected frame. 2415 "Toggle fullscreen state of FRAME.
2418Make selected frame fullscreen or restore its previous size if it 2416Make selected frame fullscreen or restore its previous size
2419is already fullscreen. 2417if it is already fullscreen.
2420 2418
2421Before making the frame fullscreen remember the current value of 2419Before making the frame fullscreen remember the current value of
2422the frame's `fullscreen' parameter in the `fullscreen-restore' 2420the frame's `fullscreen' parameter in the `fullscreen-restore'
@@ -2431,18 +2429,19 @@ transitions from one fullscreen state to another.
2431 2429
2432See also `toggle-frame-maximized'." 2430See also `toggle-frame-maximized'."
2433 (interactive) 2431 (interactive)
2434 (let ((fullscreen (frame-parameter nil 'fullscreen))) 2432 (let ((fullscreen (frame-parameter frame 'fullscreen)))
2435 (if (memq fullscreen '(fullscreen fullboth)) 2433 (if (memq fullscreen '(fullscreen fullboth))
2436 (let ((fullscreen-restore (frame-parameter nil 'fullscreen-restore))) 2434 (let ((fullscreen-restore (frame-parameter frame 'fullscreen-restore)))
2437 (if (memq fullscreen-restore '(maximized fullheight fullwidth)) 2435 (if (memq fullscreen-restore '(maximized fullheight fullwidth))
2438 (set-frame-parameter nil 'fullscreen fullscreen-restore) 2436 (set-frame-parameter frame 'fullscreen fullscreen-restore)
2439 (set-frame-parameter nil 'fullscreen nil))) 2437 (set-frame-parameter frame 'fullscreen nil)))
2440 (modify-frame-parameters 2438 (modify-frame-parameters
2441 nil `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen)))) 2439 frame `((fullscreen . fullboth) (fullscreen-restore . ,fullscreen))))
2442 ;; Manipulating a frame without waiting for the fullscreen 2440 ;; Manipulating a frame without waiting for the fullscreen
2443 ;; animation to complete can cause a crash, or other unexpected 2441 ;; animation to complete can cause a crash, or other unexpected
2444 ;; behaviour, on macOS (bug#28496). 2442 ;; behaviour, on macOS (bug#28496).
2445 (when (featurep 'cocoa) (sleep-for 0.5)))) 2443 (when (featurep 'cocoa) (sleep-for 0.5))))
2444
2446 2445
2447;;;; Key bindings 2446;;;; Key bindings
2448 2447