]> git.sur5r.net Git - i3/i3/blob - include/ewmh.h
Merge branch 'master' into next
[i3/i3] / include / ewmh.h
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * ewmh.c: Get/set certain EWMH properties easily.
8  *
9  */
10 #pragma once
11
12 /**
13  * Updates _NET_CURRENT_DESKTOP with the current desktop number.
14  *
15  * EWMH: The index of the current desktop. This is always an integer between 0
16  * and _NET_NUMBER_OF_DESKTOPS - 1.
17  *
18  */
19 void ewmh_update_current_desktop(void);
20
21 /**
22  * Updates _NET_ACTIVE_WINDOW with the currently focused window.
23  *
24  * EWMH: The window ID of the currently active window or None if no window has
25  * the focus.
26  *
27  */
28 void ewmh_update_active_window(xcb_window_t window);
29
30 /**
31  * Updates the _NET_CLIENT_LIST_STACKING hint. Necessary to move tabs in
32  * Chromium correctly.
33  *
34  * EWMH: These arrays contain all X Windows managed by the Window Manager.
35  * _NET_CLIENT_LIST has initial mapping order, starting with the oldest window.
36  * _NET_CLIENT_LIST_STACKING has bottom-to-top stacking order. These properties
37  * SHOULD be set and updated by the Window Manager.
38  *
39  */
40 void ewmh_update_client_list_stacking(xcb_window_t *stack, int num_windows);
41
42 /**
43  * Set up the EWMH hints on the root window.
44  *
45  */
46 void ewmh_setup_hints(void);
47
48 /**
49  * i3 currently does not support _NET_WORKAREA, because it does not correspond
50  * to i3’s concept of workspaces. See also:
51  * http://bugs.i3wm.org/539
52  * http://bugs.i3wm.org/301
53  * http://bugs.i3wm.org/1038
54  *
55  * We need to actively delete this property because some display managers (e.g.
56  * LightDM) set it.
57  *
58  * EWMH: Contains a geometry for each desktop. These geometries specify an area
59  * that is completely contained within the viewport. Work area SHOULD be used by
60  * desktop applications to place desktop icons appropriately.
61  *
62  */
63 void ewmh_update_workarea(void);