aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2012-12-27 22:09:45 +0200
committerJuri Linkov2012-12-27 22:09:45 +0200
commita45b76475ee930497cca375432b44aa0def77fa0 (patch)
tree5066e114c2d44eb18af82e1e87cf684603799613
parentbcdfbc0e9695f44d8a0e5c7f083fe5298590c973 (diff)
downloademacs-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/NEWS4
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/frame.el61
3 files changed, 50 insertions, 24 deletions
diff --git a/etc/NEWS b/etc/NEWS
index eba45cebe0f..0139c8da15d 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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',
57bound to <f11> and S-<f11>, respectively. 57bound 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 @@
12012-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
12012-12-27 Michael Albinus <michael.albinus@gmx.de> 102012-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.
1668See also `cycle-frame-maximized'." 1661Maximize the selected frame or un-maximize if it is already maximized.
1662Respect window manager screen decorations.
1663If the frame is in fullscreen mode, don't change its mode,
1664just toggle the temporary frame parameter `maximized',
1665so the frame will go to the right maximization state
1666after disabling fullscreen mode.
1667See 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.
1683Enable fullscreen mode of the selected frame or disable if it is
1684already fullscreen. Ignore window manager screen decorations.
1685When turning on fullscreen mode, remember the previous value of the
1686maximization state in the temporary frame parameter `maximized'.
1687Restore the maximization state when turning off fullscreen mode.
1676See also `toggle-frame-maximized'." 1688See 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.