30.4.3.8 Window Management Parameters

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.