Extended Window Manager Hints


Table of Contents
1. Introduction
1.1. Version
1.2. What is this spec?
1.3. Language used in this specification
1.4. Prerequisites for adoption of this specification
2. Non-ICCCM features
2.1. Additional States
2.1.1. Maximization
2.1.2. Shading
2.2. Modality
2.3. Large Desktops
2.3.1. Implementation note
2.4. Sticky windows
2.5. Virtual Desktops
2.5.1. Implementation note
2.6. Pagers
2.7. Taskbars
2.8. Activation
2.9. Animated iconification
2.10. Window-in-window MDI
2.11. Scope of this spec
3. Root Window Properties (+Related Messages)
3.1. _NET_SUPPORTED
3.2. _NET_CLIENT_LIST
3.3. _NET_NUMBER_OF_DESKTOPS
3.4. _NET_DESKTOP_GEOMETRY
3.5. _NET_DESKTOP_VIEWPORT
3.6. _NET_CURRENT_DESKTOP
3.7. _NET_DESKTOP_NAMES
3.8. _NET_ACTIVE_WINDOW
3.9. _NET_WORKAREA
3.10. _NET_SUPPORTING_WM_CHECK
3.11. _NET_VIRTUAL_ROOTS
4. Other Root Window Messages
4.1. _NET_CLOSE_WINDOW
4.2. _NET_WM_MOVERESIZE
5. Application Window Properties
5.1. _NET_WM_NAME
5.2. _NET_WM_VISIBLE_NAME
5.3. _NET_WM_ICON_NAME
5.4. _NET_WM_VISIBLE_ICON_NAME
5.5. _NET_WM_DESKTOP
5.6. _NET_WM_WINDOW_TYPE
5.7. _NET_WM_STATE
5.8. _NET_WM_STRUT
5.9. _NET_WM_ICON_GEOMETRY
5.10. _NET_WM_ICON
5.11. _NET_WM_PID
5.12. _NET_WM_HANDLED_ICONS
6. Window Manager Protocols
6.1. _NET_WM_PING
7. Implementation notes
7.1. Desktop/workspace model
7.2. File Manager desktop
7.3. Implementing enhanced support for application transient windows
7.4. Urgency
7.5. Fixed size windows
7.6. Pagers and Taskbars
7.7. Window Movement
7.8. Window-in-Window MDI
7.9. Killing Hung Processes
8. References
9. Copyright
10. Contributors
11. Change history
11.1. Changes since 1.0
11.2. Changes since 1.0pre5
11.3. Changes since 1.0pre4
11.4. Changes since 1.0pre3
11.5. Changes since 1.0pre2
11.6. Changes since 1.0pre1
11.7. Changes since 1.9f
11.8. Changes since 1.9e
11.9. Changes since 1.9d
11.10. Changes since 1.9c
11.11. Changes since 1.9b

1. Introduction

1.1. Version

This is version 1.1 of the Extended Window Manager Hints (EWMH) spec, updated 10 March 2001.

1.2. What is this spec?

This spec defines interactions between window managers, applications, and the utilities that form part of a desktop environment. It builds on the ICCCM [2], which defines WM (window manager) interactions at a lower level. The ICCCM does not provide ways to implement many features that modern desktop users expect. The GNOME and KDE desktop projects originally developed their own extensions to the ICCCM to support these features; this spec replaces those custom extensions with a standardized set of ICCCM additions that any desktop environment can adopt.

1.3. Language used in this specification

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

The key words "Window Manager" refer to a window manager which is adopting this specification. "Pager" refers to desktop utility applications, including pagers and taskbars. "Application" refers to other clients. "Clients" refers to Pagers + Applications ie. all X clients, except for the Window Manager.

1.4. Prerequisites for adoption of this specification

Window Managers and Clients which aim to fulfil this specification MUST adhere to the ICCCM on which this specification builds. If this specification explicitly modifies the ICCCM Window Managers and Clients MUST fulfil these modifications.