2 * vim:ts=4:sw=4:expandtab
4 * i3 - an improved dynamic tiling window manager
5 * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
7 * ewmh.c: Get/set certain EWMH properties easily.
14 * Updates _NET_CURRENT_DESKTOP with the current desktop number.
16 * EWMH: The index of the current desktop. This is always an integer between 0
17 * and _NET_NUMBER_OF_DESKTOPS - 1.
20 void ewmh_update_current_desktop(void);
23 * Updates _NET_ACTIVE_WINDOW with the currently focused window.
25 * EWMH: The window ID of the currently active window or None if no window has
29 void ewmh_update_active_window(xcb_window_t window);
32 * Updates the _NET_CLIENT_LIST_STACKING hint. Necessary to move tabs in
35 * EWMH: These arrays contain all X Windows managed by the Window Manager.
36 * _NET_CLIENT_LIST has initial mapping order, starting with the oldest window.
37 * _NET_CLIENT_LIST_STACKING has bottom-to-top stacking order. These properties
38 * SHOULD be set and updated by the Window Manager.
41 void ewmh_update_client_list_stacking(xcb_window_t *stack, int num_windows);
44 * Set up the EWMH hints on the root window.
47 void ewmh_setup_hints(void);
50 * i3 currently does not support _NET_WORKAREA, because it does not correspond
51 * to i3’s concept of workspaces. See also:
52 * http://bugs.i3wm.org/539
53 * http://bugs.i3wm.org/301
54 * http://bugs.i3wm.org/1038
56 * We need to actively delete this property because some display managers (e.g.
59 * EWMH: Contains a geometry for each desktop. These geometries specify an area
60 * that is completely contained within the viewport. Work area SHOULD be used by
61 * desktop applications to place desktop icons appropriately.
64 void ewmh_update_workarea(void);