]> Dogcows Code - chaz/openbox/blobdiff - cwmcc/prop.c
move the openbox engine into librender and the kernel. the theme is loaded and stored...
[chaz/openbox] / cwmcc / prop.c
index 66d2fb8de1a4791f4001566524390b0f6797759d..6e9e08126c976d4b72f7ab7725a969a566ef0478 100644 (file)
@@ -84,9 +84,7 @@ static gboolean get_all(Window win, Atom prop, Atom type, int size,
                             &ret_items, &bytes_left, &xdata);
     if (res == Success) {
        if (ret_size == size && ret_items > 0) {
-           *data = g_malloc(ret_items * (size / 8) + sizeof(guchar*));
-            g_memmove(*data, xdata, ret_items * (size / 8));
-            data[ret_items * (size / 8)] = NULL;
+           *data = g_memdup(xdata, ret_items * (size / 8));
            *num = ret_items;
            ret = TRUE;
        }
@@ -108,18 +106,18 @@ static gboolean get_stringlist(Window win, Atom prop, char ***list, int *nstr)
     return ret;
 }
 
-gboolean prop_get32(Window win, Atom prop, Atom type, gulong *ret)
+gboolean cwmcc_prop_get32(Window win, Atom prop, Atom type, gulong *ret)
 {
     return get_prealloc(win, prop, type, 32, (guchar*)ret, 1);
 }
 
-gboolean prop_get_array32(Window win, Atom prop, Atom type, gulong **ret,
+gboolean cwmcc_prop_get_array32(Window win, Atom prop, Atom type, gulong **ret,
                           gulong *nret)
 {
     return get_all(win, prop, type, 32, (guchar**)ret, nret);
 }
 
-gboolean prop_get_string_locale(Window win, Atom prop, char **data)
+gboolean cwmcc_prop_get_string_locale(Window win, Atom prop, char **data)
 {
     char **list;
     int nstr;
@@ -132,7 +130,7 @@ gboolean prop_get_string_locale(Window win, Atom prop, char **data)
     return FALSE;
 }
 
-gboolean prop_get_string_utf8(Window win, Atom prop, char **ret)
+gboolean cwmcc_prop_get_string_utf8(Window win, Atom prop, char **ret)
 {
     char *raw;
     gulong num;
@@ -145,7 +143,7 @@ gboolean prop_get_string_utf8(Window win, Atom prop, char **ret)
     return FALSE;
 }
 
-gboolean prop_get_strings_utf8(Window win, Atom prop, char ***ret)
+gboolean cwmcc_prop_get_strings_utf8(Window win, Atom prop, char ***ret)
 {
     char *raw, *p;
     gulong num, i;
@@ -165,7 +163,7 @@ gboolean prop_get_strings_utf8(Window win, Atom prop, char ***ret)
     return FALSE;
 }
 
-gboolean prop_get_strings_locale(Window win, Atom prop, char ***ret)
+gboolean cwmcc_prop_get_strings_locale(Window win, Atom prop, char ***ret)
 {
     char *raw, *p;
     gulong num, i;
@@ -191,7 +189,26 @@ gboolean prop_get_strings_locale(Window win, Atom prop, char ***ret)
     return FALSE;
 }
 
-void prop_set_strings_utf8(Window win, Atom prop, char **strs)
+void cwmcc_prop_set32(Window win, Atom prop, Atom type, gulong val)
+{
+    XChangeProperty(cwmcc_display, win, prop, type, 32, PropModeReplace,
+                    (guchar*)&val, 1);
+}
+
+void cwmcc_prop_set_array32(Window win, Atom prop, Atom type,
+                            gulong *val, gulong num)
+{
+    XChangeProperty(cwmcc_display, win, prop, type, 32, PropModeReplace,
+                    (guchar*)val, num);
+}
+
+void cwmcc_prop_set_string_utf8(Window win, Atom prop, char *val)
+{
+    XChangeProperty(cwmcc_display, win, prop, CWMCC_ATOM(type, utf8), 8,
+                    PropModeReplace, (guchar*)val, strlen(val));
+}
+
+void cwmcc_prop_set_strings_utf8(Window win, Atom prop, char **strs)
 {
     GString *str;
     guint i;
@@ -205,7 +222,7 @@ void prop_set_strings_utf8(Window win, Atom prop, char **strs)
                     PropModeReplace, (guchar*)str->str, str->len);
 }
 
-void prop_erase(Window win, Atom prop)
+void cwmcc_prop_erase(Window win, Atom prop)
 {
     XDeleteProperty(cwmcc_display, win, prop);
 }
This page took 0.0228 seconds and 4 git commands to generate.