diff options
| author | Juri Linkov | 2018-01-12 00:14:35 +0200 |
|---|---|---|
| committer | Juri Linkov | 2018-01-12 00:14:35 +0200 |
| commit | 30e6e312d950400feac858e46f098f360a90d575 (patch) | |
| tree | b8cd4c6e82c46cc21f1012a59235ed8130b09f67 | |
| parent | ad283dfb22770e241347a2f9b00241795e5250f4 (diff) | |
| download | emacs-30e6e312d950400feac858e46f098f360a90d575.tar.gz emacs-30e6e312d950400feac858e46f098f360a90d575.zip | |
* lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.
(Bug#29986)
| -rw-r--r-- | lisp/frame.el | 33 |
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. |
| 2328 | This is installed as a pre-command hook by `blink-cursor-start'. | 2327 | This 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. |
| 2393 | Maximize selected frame or un-maximize if it is already maximized. | 2391 | Maximize selected frame or un-maximize if it is already maximized. |
| 2394 | 2392 | ||
| 2395 | If the frame is in fullscreen state, don't change its state, but | 2393 | If 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 | ||
| 2405 | See also `toggle-frame-fullscreen'." | 2403 | See 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. |
| 2418 | Make selected frame fullscreen or restore its previous size if it | 2416 | Make selected frame fullscreen or restore its previous size |
| 2419 | is already fullscreen. | 2417 | if it is already fullscreen. |
| 2420 | 2418 | ||
| 2421 | Before making the frame fullscreen remember the current value of | 2419 | Before making the frame fullscreen remember the current value of |
| 2422 | the frame's `fullscreen' parameter in the `fullscreen-restore' | 2420 | the frame's `fullscreen' parameter in the `fullscreen-restore' |
| @@ -2431,18 +2429,19 @@ transitions from one fullscreen state to another. | |||
| 2431 | 2429 | ||
| 2432 | See also `toggle-frame-maximized'." | 2430 | See 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 | ||