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.

If you wish to hide the title bar when the frame is maximized, you can add something like the following to your init file:

  (add-hook 'window-size-change-functions
            #'frame-hide-title-bar-when-maximized)

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.

View in manual

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.

If you wish to hide the title bar when the frame is maximized, you
can add something like the following to your init file:

  (add-hook \\='window-size-change-functions
            #\\='frame-hide-title-bar-when-maximized)

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)))))