]> git.sur5r.net Git - i3/i3/blob - include/ewmh.h
Merge branch 'noworkarea'
[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 #ifndef _EWMH_C
11 #define _EWMH_C
12
13 /**
14  * Updates _NET_CURRENT_DESKTOP with the current desktop number.
15  *
16  * EWMH: The index of the current desktop. This is always an integer between 0
17  * and _NET_NUMBER_OF_DESKTOPS - 1.
18  *
19  */
20 void ewmh_update_current_desktop();
21
22 /**
23  * Updates _NET_ACTIVE_WINDOW with the currently focused window.
24  *
25  * EWMH: The window ID of the currently active window or None if no window has
26  * the focus.
27  *
28  */
29 void ewmh_update_active_window(xcb_window_t window);
30
31 /**
32  * Updates the _NET_CLIENT_LIST_STACKING hint. Necessary to move tabs in
33  * Chromium correctly.
34  *
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.
39  *
40  */
41 void ewmh_update_client_list_stacking(xcb_window_t *stack, int num_windows);
42
43 #endif