add most of the root window props get functions
[mikachu/openbox.git] / cwmcc / prop.h
1 #ifndef __cwmcc_prop_h
2 #define __cwmcc_prop_h
3
4 #include <glib.h>
5 #include <X11/Xlib.h>
6
7 /* with the exception of prop_get32, all other prop_get_* functions require
8    you to free the returned value with g_free or g_strfreev (for the char**s)
9 */
10
11 gboolean prop_get32(Window win, Atom prop, Atom type, gulong *ret);
12
13 gboolean prop_get_array32(Window win, Atom prop, Atom type, gulong **ret,
14                           gulong *nret);
15
16 gboolean prop_get_string(Window win, Atom prop, Atom type, char **ret);
17
18 /*! Gets a string from a property which is stored in UTF-8 encoding. */
19 gboolean prop_get_string_utf8(Window win, Atom prop, char **ret);
20
21 /*! Gets a string from a property which is stored in the current local
22   encoding. The returned string is in UTF-8 encoding. */
23 gboolean prop_get_string_locale(Window win, Atom prop, char **ret);
24
25 /*! Gets a null terminated array of strings from a property which is stored in
26   UTF-8 encoding. */
27 gboolean prop_get_strings_utf8(Window win, Atom prop, char ***ret);
28
29 /*! Gets a null terminated array of strings from a property which is stored in
30   the current locale encoding. The returned string is in UTF-8 encoding. */
31 gboolean prop_get_strings_locale(Window win, Atom prop, char ***ret);
32
33 /*! Sets a null terminated array of strings in a property encoded as UTF-8. */
34 void prop_set_strings_utf8(Window win, Atom prop, char **strs);
35
36 void prop_erase(Window win, Atom prop);
37
38 #endif