Function: toggle-frame-maximized
toggle-frame-maximized is an interactive and byte-compiled function
defined in frame.el.gz.
Signature
(toggle-frame-maximized &optional FRAME)
Documentation
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
set the frame's fullscreen-restore parameter to maximized, so
the frame will be maximized after disabling fullscreen state.
Note that with some window managers you may have to set
frame-resize-pixelwise to non-nil in order to make a frame
appear truly maximized. In addition, you may have to set
x-frame-normalize-before-maximize in order to enable
transitions from one fullscreen state to another.
See also toggle-frame-fullscreen.
Probably introduced at or before Emacs version 24.4.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/frame.el.gz
;; Frame maximization/fullscreen
(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
set the frame's `fullscreen-restore' parameter to `maximized', so
the frame will be maximized after disabling fullscreen state.
Note that with some window managers you may have to set
`frame-resize-pixelwise' to non-nil in order to make a frame
appear truly maximized. In addition, you may have to set
`x-frame-normalize-before-maximize' in order to enable
transitions from one fullscreen state to another.
See also `toggle-frame-fullscreen'."
(interactive)
(let ((fullscreen (frame-parameter frame 'fullscreen)))
(cond
((memq fullscreen '(fullscreen fullboth))
(set-frame-parameter frame 'fullscreen-restore 'maximized))
((eq fullscreen 'maximized)
(set-frame-parameter frame 'fullscreen nil))
(t
(set-frame-parameter frame 'fullscreen 'maximized)))))