Frame parameters specify frame sizes in character units. On
graphical displays, the
default face determines the actual
pixel sizes of these character units (see Face Attributes).
user-positionparameter (see user-position) does for the position parameters
maximized. A fullwidth frame is as wide as possible, a fullheight frame is as tall as possible, and a fullboth frame is both as wide and as tall as possible. A maximized frame is like a “fullboth” frame, except that it usually keeps its title bar and the buttons for resizing and closing the frame. Also, maximized frames typically avoid hiding any task bar or panels displayed on the desktop. A “fullboth” frame, on the other hand, usually omits the title bar and occupies the entire available screen space.
Full-height and full-width frames are more similar to maximized frames in this regard. However, these typically display an external border which might be absent with maximized frames. Hence the heights of maximized and full-height frames and the widths of maximized and full-width frames often differ by a few pixels.
With some window managers you may have to customize the variable
frame-resize-pixelwise (see Size and Position) in order to
make a frame truly appear maximized or full-screen. Moreover,
some window managers might not support smooth transition between the
various full-screen or maximization states. Customizing the variable
x-frame-normalize-before-maximize can help to overcome that.
toggle-frame-fullscreencommand (see Frame Commands) in the “fullboth” state. Normally this parameter is installed automatically by that command when toggling the state to fullboth. If, however, you start Emacs in the “fullboth” state, you have to specify the desired behavior in your initial file as, for example
(setq default-frame-alist '((fullscreen . fullboth) (fullscreen-restore . fullheight)))
This will give a new frame full height after typing in it <F11> for the first time.