diff options
| author | Juri Linkov | 2012-12-27 22:09:45 +0200 |
|---|---|---|
| committer | Juri Linkov | 2012-12-27 22:09:45 +0200 |
| commit | a45b76475ee930497cca375432b44aa0def77fa0 (patch) | |
| tree | 5066e114c2d44eb18af82e1e87cf684603799613 | |
| parent | bcdfbc0e9695f44d8a0e5c7f083fe5298590c973 (diff) | |
| download | emacs-a45b76475ee930497cca375432b44aa0def77fa0.tar.gz emacs-a45b76475ee930497cca375432b44aa0def77fa0.zip | |
* lisp/frame.el (frame-maximization-style): Remove user option.
(cycle-frame-maximized): Remove function.
(toggle-frame-maximized): Rewrite and bind to M-<f10>.
(toggle-frame-fullscreen): New command bound to <f11> instead of
`toggle-frame-maximized'.
http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00703.html
| -rw-r--r-- | etc/NEWS | 4 | ||||
| -rw-r--r-- | lisp/ChangeLog | 9 | ||||
| -rw-r--r-- | lisp/frame.el | 61 |
3 files changed, 50 insertions, 24 deletions
| @@ -53,8 +53,8 @@ POSIX ACL interfaces. | |||
| 53 | 53 | ||
| 54 | * Editing Changes in Emacs 24.4 | 54 | * Editing Changes in Emacs 24.4 |
| 55 | 55 | ||
| 56 | ** New commands `toggle-frame-maximized' and `cycle-frame-maximized', | 56 | ** New commands `toggle-frame-fullscreen' and `toggle-frame-maximized', |
| 57 | bound to <f11> and S-<f11>, respectively. | 57 | bound to <f11> and M-<f10>, respectively. |
| 58 | 58 | ||
| 59 | 59 | ||
| 60 | * Changes in Specialized Modes and Packages in Emacs 24.4 | 60 | * Changes in Specialized Modes and Packages in Emacs 24.4 |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 32553e73741..747662ee468 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2012-12-27 Juri Linkov <juri@jurta.org> | ||
| 2 | |||
| 3 | * frame.el (frame-maximization-style): Remove user option. | ||
| 4 | (cycle-frame-maximized): Remove function. | ||
| 5 | (toggle-frame-maximized): Rewrite and bind to M-<f10>. | ||
| 6 | (toggle-frame-fullscreen): New command bound to <f11> instead of | ||
| 7 | `toggle-frame-maximized'. | ||
| 8 | http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00703.html | ||
| 9 | |||
| 1 | 2012-12-27 Michael Albinus <michael.albinus@gmx.de> | 10 | 2012-12-27 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 11 | ||
| 3 | * net/tramp.el (tramp-handle-file-accessible-directory-p): New defun. | 12 | * net/tramp.el (tramp-handle-file-accessible-directory-p): New defun. |
diff --git a/lisp/frame.el b/lisp/frame.el index 559aa35242d..c19f38fceeb 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -1654,32 +1654,49 @@ terminals, cursor blinking is controlled by the terminal." | |||
| 1654 | 'blink-cursor-start)))) | 1654 | 'blink-cursor-start)))) |
| 1655 | 1655 | ||
| 1656 | 1656 | ||
| 1657 | ;; Frame maximization | 1657 | ;; Frame maximization/fullscreen |
| 1658 | (defcustom frame-maximization-style 'maximized | ||
| 1659 | "The maximization style of \\[toggle-frame-maximized]." | ||
| 1660 | :version "24.4" | ||
| 1661 | :type '(choice | ||
| 1662 | (const :tab "Respect window manager screen decorations." maximized) | ||
| 1663 | (const :tab "Ignore window manager screen decorations." fullscreen)) | ||
| 1664 | :group 'frames) | ||
| 1665 | 1658 | ||
| 1666 | (defun toggle-frame-maximized () | 1659 | (defun toggle-frame-maximized () |
| 1667 | "Maximize/un-maximize Emacs frame according to `frame-maximization-style'. | 1660 | "Toggle maximization state of the selected frame. |
| 1668 | See also `cycle-frame-maximized'." | 1661 | Maximize the selected frame or un-maximize if it is already maximized. |
| 1662 | Respect window manager screen decorations. | ||
| 1663 | If the frame is in fullscreen mode, don't change its mode, | ||
| 1664 | just toggle the temporary frame parameter `maximized', | ||
| 1665 | so the frame will go to the right maximization state | ||
| 1666 | after disabling fullscreen mode. | ||
| 1667 | See also `toggle-frame-fullscreen'." | ||
| 1669 | (interactive) | 1668 | (interactive) |
| 1670 | (modify-frame-parameters | 1669 | (if (eq (frame-parameter nil 'fullscreen) 'fullscreen) |
| 1671 | nil `((fullscreen . ,(if (frame-parameter nil 'fullscreen) | 1670 | (modify-frame-parameters |
| 1672 | nil frame-maximization-style))))) | 1671 | nil |
| 1673 | 1672 | `((maximized | |
| 1674 | (defun cycle-frame-maximized () | 1673 | . ,(unless (eq (frame-parameter nil 'maximized) 'maximized) |
| 1675 | "Cycle Emacs frame between normal, maximized, and fullscreen. | 1674 | 'maximized)))) |
| 1675 | (modify-frame-parameters | ||
| 1676 | nil | ||
| 1677 | `((fullscreen | ||
| 1678 | . ,(unless (eq (frame-parameter nil 'fullscreen) 'maximized) | ||
| 1679 | 'maximized)))))) | ||
| 1680 | |||
| 1681 | (defun toggle-frame-fullscreen () | ||
| 1682 | "Toggle fullscreen mode of the selected frame. | ||
| 1683 | Enable fullscreen mode of the selected frame or disable if it is | ||
| 1684 | already fullscreen. Ignore window manager screen decorations. | ||
| 1685 | When turning on fullscreen mode, remember the previous value of the | ||
| 1686 | maximization state in the temporary frame parameter `maximized'. | ||
| 1687 | Restore the maximization state when turning off fullscreen mode. | ||
| 1676 | See also `toggle-frame-maximized'." | 1688 | See also `toggle-frame-maximized'." |
| 1677 | (interactive) | 1689 | (interactive) |
| 1678 | (modify-frame-parameters | 1690 | (modify-frame-parameters |
| 1679 | nil `((fullscreen . ,(cl-case (frame-parameter nil 'fullscreen) | 1691 | nil |
| 1680 | ((nil) 'maximized) | 1692 | `((maximized |
| 1681 | ((maximized) 'fullscreen) | 1693 | . ,(unless (eq (frame-parameter nil 'fullscreen) 'fullscreen) |
| 1682 | ((fullscreen) nil)))))) | 1694 | (frame-parameter nil 'fullscreen))) |
| 1695 | (fullscreen | ||
| 1696 | . ,(if (eq (frame-parameter nil 'fullscreen) 'fullscreen) | ||
| 1697 | (if (eq (frame-parameter nil 'maximized) 'maximized) | ||
| 1698 | 'maximized) | ||
| 1699 | 'fullscreen))))) | ||
| 1683 | 1700 | ||
| 1684 | 1701 | ||
| 1685 | ;;;; Key bindings | 1702 | ;;;; Key bindings |
| @@ -1688,8 +1705,8 @@ See also `toggle-frame-maximized'." | |||
| 1688 | (define-key ctl-x-5-map "1" 'delete-other-frames) | 1705 | (define-key ctl-x-5-map "1" 'delete-other-frames) |
| 1689 | (define-key ctl-x-5-map "0" 'delete-frame) | 1706 | (define-key ctl-x-5-map "0" 'delete-frame) |
| 1690 | (define-key ctl-x-5-map "o" 'other-frame) | 1707 | (define-key ctl-x-5-map "o" 'other-frame) |
| 1691 | (define-key global-map [f11] 'toggle-frame-maximized) | 1708 | (define-key global-map [f11] 'toggle-frame-fullscreen) |
| 1692 | (define-key global-map [(shift f11)] 'cycle-frame-maximized) | 1709 | (define-key global-map [(meta f10)] 'toggle-frame-maximized) |
| 1693 | 1710 | ||
| 1694 | 1711 | ||
| 1695 | ;; Misc. | 1712 | ;; Misc. |