#include "cwmcc_internal.h"
+#include "atom.h"
#include <X11/Xutil.h>
#include <glib.h>
-#ifdef HAVE_STRING_H
-# include <string.h>
-#endif
+#include <string.h>
/* this just isn't used...
static gboolean get(Window win, Atom prop, Atom type, int size,
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;
return FALSE;
}
-gboolean prop_get_string_utf(Window win, Atom prop, Atom type, char **ret)
+gboolean cwmcc_prop_get_string_utf8(Window win, Atom prop, char **ret)
{
char *raw;
gulong num;
- if (get_all(win, prop, type, 8, (guchar**)&raw, &num)) {
+ if (get_all(win, prop, CWMCC_ATOM(type, utf8), 8, (guchar**)&raw, &num)) {
*ret = g_strdup(raw); /* grab the first string from the list */
g_free(raw);
return TRUE;
return FALSE;
}
-gboolean prop_get_strings_utf(Window win, Atom prop, Atom type, char ***ret)
+gboolean cwmcc_prop_get_strings_utf8(Window win, Atom prop, char ***ret)
{
char *raw, *p;
gulong num, i;
- if (get_all(win, prop, type, 8, (guchar**)&raw, &num)) {
+ if (get_all(win, prop, CWMCC_ATOM(type, utf8), 8, (guchar**)&raw, &num)) {
*ret = g_new(char*, num + 1);
(*ret)[num] = NULL; /* null terminated list */
return FALSE;
}
-gboolean prop_get_strings_locale(Window win, Atom prop, Atom type,char ***ret){
+gboolean cwmcc_prop_get_strings_locale(Window win, Atom prop, char ***ret)
+{
char *raw, *p;
gulong num, i;
- if (get_all(win, prop, type, 8, (guchar**)&raw, &num)) {
+ if (get_all(win, prop, CWMCC_ATOM(type, string), 8, (guchar**)&raw, &num)){
*ret = g_new(char*, num + 1);
(*ret)[num] = NULL; /* null terminated list */
return FALSE;
}
-void prop_set_strings_utf(Window win, Atom prop, Atom type, 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;
str = g_string_append(str, strs[i]);
str = g_string_append_c(str, '\0');
}
- XChangeProperty(cwmcc_display, win, prop, type, 8,
+ XChangeProperty(cwmcc_display, win, prop, CWMCC_ATOM(type, utf8), 8,
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);
}