/*
* ion/ioncore/property.c
*
- * Copyright (c) Tuomo Valkonen 1999-2007.
+ * Copyright (c) Tuomo Valkonen 1999-2009.
*
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
*/
#include <X11/Xmd.h>
XTextProperty prop;
char **list=NULL;
int n=0;
- Status st=0;
+ Status st;
+ bool ok;
st=XGetTextProperty(ioncore_g.dpy, win, &prop, a);
#endif
if(!ioncore_g.use_mb){
- st=XTextPropertyToStringList(&prop, &list, &n);
+ Status st=XTextPropertyToStringList(&prop, &list, &n);
+ ok=(st!=0);
}else{
- st=XmbTextPropertyToTextList(ioncore_g.dpy, &prop, &list, &n);
- st=!st;
+ int st=XmbTextPropertyToTextList(ioncore_g.dpy, &prop, &list, &n);
+ ok=(st>=0);
}
XFree(prop.value);
- if(!st || n==0 || list==NULL)
+ if(!ok || n==0 || list==NULL)
return NULL;
if(nret)
void xwindow_set_text_property(Window win, Atom a, const char **ptr, int n)
{
XTextProperty prop;
- Status st;
-
+ bool ok;
+
if(!ioncore_g.use_mb){
- st=XStringListToTextProperty((char **)&ptr, n, &prop);
+ Status st=XStringListToTextProperty((char **)ptr, n, &prop);
+ ok=(st!=0);
}else{
-#ifdef X_HAVE_UTF8_STRING
- st=XmbTextListToTextProperty(ioncore_g.dpy, (char **)ptr, n,
- XUTF8StringStyle, &prop);
-#else
- st=XmbTextListToTextProperty(ioncore_g.dpy, (char **)ptr, n,
- XTextStyle, &prop);
-#endif
- st=!st;
+ int st=XmbTextListToTextProperty(ioncore_g.dpy, (char **)ptr, n,
+ XTextStyle, &prop);
+ ok=(st>=0);
}
- if(!st)
+ if(!ok)
return;
XSetTextProperty(ioncore_g.dpy, win, &prop, a);
/*EXTL_DOC
* Modify a window property. The \var{mode} is one of
- * \code{"replace"}, \code{"prepend"} or \code{"append"}, and format
+ * \codestr{replace}, \codestr{prepend} or \codestr{append}, and format
* is either 8, 16 or 32. Also see \fnref{ioncore.x_get_window_property}
* and the \code{XChangeProperty}(3) manual page.
*/
/*EXTL_DOC
- * Get a text property for a window (\code{STRING}, \code{COMPOUND_TEXT},
- * or \code{UTF8_STRING} property converted). The fields in the returned
+ * Get a text property for a window. The fields in the returned
* table (starting from 1) are the null-separated parts of the property.
* See the \code{XGetTextProperty}(3) manual page for more information.
*/