The following frame parameters control various aspects of the frame’s interaction with the window manager or window system. They have no effect on text terminals.
visibility
The state of visibility of the frame. There are three possibilities:
nil
for invisible, t
for visible, and icon
for
iconified. See Visibility of Frames.
auto-raise
If non-nil
, Emacs automatically raises the frame when it is
selected. Some window managers do not allow this.
auto-lower
If non-nil
, Emacs automatically lowers the frame when it is
deselected. Some window managers do not allow this.
icon-type
The type of icon to use for this frame. If the value is a string,
that specifies a file containing a bitmap to use; nil
specifies
no icon (in which case the window manager decides what to show); any
other non-nil
value specifies the default Emacs icon.
icon-name
The name to use in the icon for this frame, when and if the icon
appears. If this is nil
, the frame’s title is used.
window-id
The ID number which the graphical display uses for this frame. Emacs assigns this parameter when the frame is created; changing the parameter has no effect on the actual ID number.
outer-window-id
The ID number of the outermost window-system window in which the frame
exists. As with window-id
, changing this parameter has no
actual effect.
wait-for-wm
If non-nil
, tell Xt to wait for the window manager to confirm
geometry changes. Some window managers, including versions of Fvwm2
and KDE, fail to confirm, so Xt hangs. Set this to nil
to
prevent hanging with those window managers.
sticky
If non-nil
, the frame is visible on all virtual desktops on systems
with virtual desktops.
shaded
If non-nil
, tell the window manager to display the frame in a
way that its contents are hidden, leaving only the title bar.
use-frame-synchronization
If non-nil
, synchronize the frame redisplay with the refresh
rate of the monitor to avoid graphics tearing. At present, this is
only implemented on Haiku and the X window system inside no-toolkit
and X toolkit builds, does not work correctly with toolkit scroll
bars, and requires a compositing manager supporting the relevant
display synchronization protocols. The synchronizeResize
X
resource must also be set to the string "extended"
.
inhibit-double-buffering
If non-nil
, the frame is drawn to the screen without double
buffering. Emacs normally attempts to use double buffering, where
available, to reduce flicker. Set this property if you experience
display bugs or pine for that retro, flicker-y feeling.
skip-taskbar
If non-nil
, this tells the window manager to remove the frame’s
icon from the taskbar associated with the frame’s display and inhibit
switching to the frame’s window via the combination Alt-TAB.
On MS-Windows, iconifying such a frame will "roll in" its window-system
window at the bottom of the desktop. Some window managers may not honor
this parameter.
no-focus-on-map
If non-nil
, this means that the frame does not want to receive
input focus when it is mapped (see Visibility of Frames). Some
window managers may not honor this parameter.
no-accept-focus
If non-nil
, this means that the frame does not want to receive
input focus via explicit mouse clicks or when moving the mouse into it
either via focus-follows-mouse
(see Input Focus) or
mouse-autoselect-window
(see Mouse Window Auto-selection).
This may have the unwanted side-effect that a user cannot scroll a
non-selected frame with the mouse. Some window managers may not honor
this parameter. On Haiku, it also has the side-effect that the window
will not be able to receive any keyboard input from the user, not even
if the user switches to the frame using the key combination
Alt-TAB.
undecorated
If non-nil
, 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.
override-redirect
¶If non-nil
, this means that this is an override redirect
frame—a frame not handled by window managers under X. Override
redirect frames have no window manager decorations, can be positioned
and resized only via Emacs’ positioning and resizing functions and are
usually drawn on top of all other frames. Setting this parameter has
no effect on MS-Windows.
ns-appearance
Only available on macOS, if set to dark
draw this frame’s
window-system window using the “vibrant dark” theme, and if set to
light
use the “aqua” theme, otherwise use the system default.
The “vibrant dark” theme can be used to set the toolbar and
scrollbars to a dark appearance when using an Emacs theme with a dark
background.
ns-transparent-titlebar
Only available on macOS, if non-nil
, set the titlebar and
toolbar to be transparent. This effectively sets the background color
of both to match the Emacs background color.