add most of the root window props get functions
[mikachu/openbox.git] / cwmcc / root_props.h
1 /*#ifndef __cwmcc_root_props_h
2   #define __cwmcc_root_props_h*/
3
4 #include <X11/Xlib.h>
5 #include <glib.h>
6
7 void cwmcc_root_get_supported(Window win, Atom **atoms);
8
9 void cwmcc_root_get_client_list(Window win, Window **windows);
10
11 void cwmcc_root_get_client_list_stacking(Window win, Window **windows);
12
13 void cwmcc_root_get_number_of_desktops(Window win, gulong *desktops);
14
15 void cwmcc_root_get_desktop_geometry(Window win, gulong *w, gulong *h);
16
17 void cwmcc_root_get_desktop_viewport(Window win, gulong *x, gulong *y);
18
19 void cwmcc_root_get_current_desktop(Window win, gulong *desktop);
20
21 void cwmcc_root_get_desktop_names(Window win, char ***names);
22
23 void cwmcc_root_get_active_window(Window win, Window *window);
24
25 /*void cwmcc_root_get_workarea(Window win, Rect a)*/
26
27 void cwmcc_root_get_supporting_wm_check(Window win, Window *window);
28
29 /*! Orientation of the desktops */
30 enum Cwmcc_Orientation {
31     Cwmcc_Orientation_Horz = 0,
32     Cwmcc_Orientation_Vert = 1
33 };
34
35 enum Cwmcc_Corner {
36     Cwmcc_Corner_TopLeft = 0,
37     Cwmcc_Corner_TopRight = 1,
38     Cwmcc_Corner_BottomRight = 2,
39     Cwmcc_Corner_BottomLeft = 3
40 };
41
42 struct Cwmcc_DesktopLayout {
43     enum Cwmcc_Orientation orientation;
44     enum Cwmcc_Corner start_corner;
45     guint rows;
46     guint columns;
47 };
48
49 void cwmcc_root_get_desktop_layout(Window win,
50                                    struct Cwmcc_DesktopLayout *layout);
51
52 void cwmcc_root_get_showing_desktop(Window win, gboolean *showing);
53
54 void cwmcc_root_get_openbox_pid(Window win, gulong *pid);
55
56 /*#endif*/