EWMH
   HOME

TheInfoList



OR:

Extended Window Manager Hints, a.k.a. NetWM, is an
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
standard for the communication between
window managers A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction ...
and applications. It builds on the functionality of the
Inter-Client Communication Conventions Manual In computing, the Inter-Client Communication Conventions Manual (ICCCM or I39L short for "I", 39 letters and "L")protocols for the mediation of access to shared X resources, like the screen and the input focus. Applications request access, while the window manager grants or denies it. Communication occurs via X properties and client messages. The EWMH is a comprehensive set of protocols to implement a
desktop environment In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphica ...
. It defines both required and optional protocols. The window manager may choose to implement
virtual desktops In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP paradigm, to describe ways in which the virtual space of a computer's desktop environment is expanded beyond the physical limits of the sc ...
or a layered stacking order, but if it does, then the EWMH defines how this is communicated.


Protocol overview

All EWMH protocol identifiers start with the five letter prefix _NET_.


Root window properties

The WM must update a set of properties on the root window: ; _NET_SUPPORTED : lists all the EWMH protocols supported by this WM. ; _NET_CLIENT_LIST : lists all application windows managed by this WM. ; _NET_NUMBER_OF_DESKTOPS : indicates the number of virtual desktops. ; _NET_DESKTOP_GEOMETRY : defines the common size of all desktops. ; _NET_DESKTOP_VIEWPORT : defines the top left corner of each desktop. ; _NET_CURRENT_DESKTOP : gives the index of the current desktop. ; _NET_DESKTOP_NAMES : lists the names of all virtual desktops. ; _NET_ACTIVE_WINDOW : gives the currently active window. ; _NET_WORKAREA : contains a geometry for each desktop. ; _NET_SUPPORTING_WM_CHECK : gives the window of the active WM. ; _NET_VIRTUAL_ROOTS : if the WM supports virtual root windows. ; _NET_DESKTOP_LAYOUT : shows the layout of the active pager. ; _NET_SHOWING_DESKTOP : is 1 for "showing the desktop" mode.


Client messages

An application may send client messages to a window manager: ; _NET_WM_STATE : to change the state of an application window. ; _NET_ACTIVE_WINDOW : to activate an application window. ; _NET_SHOWING_DESKTOP : toggles display of application windows. ; _NET_CLOSE_WINDOW : to close an application window. ; _NET_WM_MOVERESIZE : to interactively resize an application window. ; _NET_MOVERESIZE_WINDOW : to immediately resize an application window. ; _NET_REQUEST_FRAME_EXTENTS : consults frame border dimensions. ; _NET_WM_FULLSCREEN_MONITORS : defines the monitors for a fullscreen window. If the WM supports window stacking: ; _NET_RESTACK_WINDOW : asks to change the stacking order for a window. If the WM supports virtual desktops: ; _NET_CURRENT_DESKTOP : changes the current desktop. ; _NET_NUMBER_OF_DESKTOPS : changes the number of desktops. A WM may choose to ignore these messages: ; _NET_DESKTOP_GEOMETRY : changes the dimension of all desktops. ; _NET_DESKTOP_VIEWPORT : changes the viewport for the current desktop.


Window properties

The EWMH defines these application window properties: ; _NET_WM_NAME : the title of the window. ; _NET_WM_VISIBLE_NAME : the window title as shown by the WM. ; _NET_WM_ICON_NAME : the title of the icon. ; _NET_WM_VISIBLE_ICON_NAME : the icon title as shown by the WM. ; _NET_WM_DESKTOP : the desktop the window is in. ; _NET_WM_WINDOW_TYPE : the functional type of the window. ; _NET_WM_STATE : the current window state. ; _NET_WM_ALLOWED_ACTIONS : a list of supported user operations. ; _NET_WM_STRUT : if the window wishes to reserve space at the edge. ; _NET_WM_STRUT_PARTIAL : reserved space details at the screen edge. ; _NET_WM_ICON_GEOMETRY : the geometry of a possible icon. ; _NET_WM_ICON : an array of possible icons for the client. ; _NET_WM_PID : the process ID of the client owning this window. ; _NET_WM_HANDLED_ICONS : whether a pager provides icons. ; _NET_WM_USER_TIME : time of last user activity in this window. ; _NET_WM_USER_TIME_WINDOW : the window which shows user activity. ; _NET_FRAME_EXTENTS : the left, right, top and bottom frame sizes. ; _NET_WM_OPAQUE_REGION : which window regions are fully opaque. ; _NET_WM_BYPASS_COMPOSITOR : requests that the window is uncomposited.


Window states

The ICCCM defines only three distinct states a window can be in: # Withdrawn, # Normal, # Iconic. In addition it supports an Urgent flag to request user attention. The EWMH defines thirteen window state flags: * Above: show the window above others, * Below: show the window below others, * DemandsAttention: same as the urgent flag, * Focused: the window has input focus, * Fullscreen: show the window fullscreen, * Hidden: the window is unmapped, * MaximizedHorizontal: the window is stretched horizontally, * MaximizedVertical: the window is stretched vertically, * Modal: the window is a modal popup, * Shaded: the window is rolled up, * SkipPager: the window should not be shown on a pager, * SkipTaskbar: the window should be ignored by a taskbar, * Sticky: the window should be shown on all virtual desktops.


Additional protocols

; _NET_WM_PING : a WM can use this to test if a client is alive. ; _NET_WM_SYNC_REQUEST : for synchronizing repaints when resizing. ; _NET_WM_FULL_PLACEMENT : the WM will handle any window placement.


List of window managers that support Extended Window Manager Hints


Tiling and dynamic window managers

* aewm * awesome * bspwm * echinus * goomwwm * herbstluftwm * i3 * LeftWM * ''Notion'' * Qtile * spectrwm * subtle * Wingo * wmii * xmonad (needs to be turned on in the config)


Stacking window managers

* Blackbox *
Compiz Compiz () is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as lo ...
* CTWM (as of 4.0.0) * edewm * Fluxbox * FVWM (via a plugin prior to v2.4 and native support from v2.5) * IceWM *
JWM JWM (Joe's Window Manager) is a lightweight stacking window manager for the X Window System written by Joe Wingbermuehle. JWM is written in C and uses only Xlib at a minimum. Configuration is done by editing an XML file; no graphical configu ...
* KWin *
Metacity Metacity was the default window manager used by the GNOME 2 desktop environment until it was replaced by Mutter in GNOME 3. It is still used by GNOME Flashback, a session for GNOME 3 that provides a similar user experience to the Gnome 2.x serie ...
* Marco * Openbox


Other window managers

*
Enlightenment Enlightenment or enlighten may refer to: Age of Enlightenment * Age of Enlightenment, period in Western intellectual history from the late 17th to late 18th century, centered in France but also encompassing (alphabetically by country or culture): ...
(E16 and E17) * evilwm * interfacewm * matchbox * Sawfish (not completely) * wmfs * Xfwmxfwm4 standards
/ref>


Notes and references


External links

*
The Window Manager Specification Project
at
freedesktop.org freedesktop.org (fd.o) is a project to work on interoperability and shared base technology for Free software, free-software desktop environments for the X Window System (X11) and Wayland (display server protocol), Wayland on Linux and other Uni ...

Extended Window Manager Hints Support For FVWM
{{XWinSys Freedesktop.org X Window System