These frame parameters enable or disable various parts of the frame, or control their sizes. Unless stated otherwise, these parameters have no meaning on text terminals.
undecorated ¶If non-nil, then on a graphical system this frame’s window-system
window is drawn without decorations, like the title, minimize/maximize
boxes and external borders. This usually means that the window cannot
be dragged, resized, iconified, maximized or deleted with the mouse. If
nil, the frame’s window is usually drawn with all the elements
listed above unless their display has been suspended via window manager
settings.
Under X, Emacs uses the Motif window manager hints to turn off decorations. Some window managers may not honor these hints.
NS builds consider the tool bar to be a decoration, and therefore hide it on an undecorated frame.
On a text terminal, this parameter, if non-nil, will make a child
frame show an outer border, which allows to resize that frame via mouse
dragging (see Mouse Dragging Parameters).
border-width ¶The width in pixels of the frame’s outer border (see Frame Geometry).
internal-border-width ¶The width in pixels of the frame’s internal border (see Frame Geometry).
child-frame-border-width ¶The width in pixels of the frame’s internal border (see Frame Geometry) if the given frame is a child frame (see Child Frames).
If this is nil, the value specified by the
internal-border-width parameter is used instead.
vertical-scroll-bars ¶Whether the frame has scroll bars (see Scroll Bars) for vertical
scrolling, and which side of the frame they should be on. The possible
values are left, right, and nil for no scroll bars.
horizontal-scroll-bars ¶Whether the frame has scroll bars for horizontal scrolling (t and
bottom mean yes, nil means no).
scroll-bar-width ¶The width of vertical scroll bars, in pixels, or nil meaning to
use the default width.
scroll-bar-height ¶The height of horizontal scroll bars, in pixels, or nil meaning
to use the default height.
left-fringe ¶right-fringeThe default width of the left and right fringes of windows in this frame (see Fringes). If either of these is zero, that effectively removes the corresponding fringe.
When you use frame-parameter to query the value of either of
these two frame parameters, the return value is always an integer.
When using set-frame-parameter, passing a nil value
imposes an actual default value of 8 pixels.
right-divider-width ¶The width (thickness) reserved for the right divider (see Window Dividers) of any window on the frame, in pixels. A value of zero means to not draw right dividers.
bottom-divider-width ¶The width (thickness) reserved for the bottom divider (see Window Dividers) of any window on the frame, in pixels. A value of zero means to not draw bottom dividers.
menu-bar-lines ¶The number of lines to allocate at the top of the frame for a menu bar
(see The Menu Bar). The default is 1 if Menu Bar mode is enabled and 0
otherwise. See Menu Bars in The GNU Emacs Manual. For an
external menu bar (see Frame Layout), this value remains unchanged
even when the menu bar wraps to two or more lines. In that case, the
menu-bar-size value returned by frame-geometry
(see Frame Geometry) can be used to establish whether the menu bar
actually occupies one or more lines. This parameter affects the
presence of a menu bar on the root frame (see Child Frames) of a
text terminal too. On a text terminal the value may be only 0 or 1.
tool-bar-lines ¶The number of lines to use for the tool bar (see Tool bars). The default is one if Tool Bar mode is enabled and zero otherwise. See Tool Bars in The GNU Emacs Manual. This value may change whenever the tool bar wraps (see Frame Layout).
tool-bar-position ¶The position of the tool bar. Its value can be one of top,
bottom left, right. The default is top.
It can be set to bottom on Emacs built with any toolkit other
than Nextstep, and left or right on builds using GTK+.
tab-bar-lines ¶The number of lines to use for the tab bar (see Tab Bars in The GNU Emacs Manual). The default is one if Tab Bar mode is enabled and zero otherwise. This value may change whenever the tab bar wraps (see Frame Layout). This parameter affects the presence of a tab bar on the root frame (see Child Frames) of a text terminal too.
line-spacing ¶Additional space to leave below each text line, in pixels (a positive integer). See Line Height, for more information.
no-special-glyphs ¶If this is non-nil, it suppresses the display of any truncation
(see Truncation) and continuation glyphs for all the buffers
displayed by this frame. This is useful to eliminate such glyphs when
fitting a frame to its buffer via fit-frame-to-buffer
(see Resizing Windows). This frame parameter has effect only for
GUI frames shown on graphical displays, and only if the fringes are
disabled. This parameter is intended as a purely-presentation feature,
and in particular should not be used for frames where the user can
interactively insert text, or more generally where the cursor is shown.
A notable example of frames where this is used is tooltip frames
(see Tooltips). This parameter affects text terminals as well.