Я учусь использовать xlib, и я не могу получить XChangeProperty()
для работы на меня.XChangeProperty() всегда сбой
У меня есть простая программа, которая успешно отображает окно. Но звонки на XChangeProperty()
всегда с кодом ошибки error 1 (BadRequest)
.
Может ли кто-нибудь сказать мне, что я делаю неправильно?
Это мой код, чтобы изменить собственность.
static void
change_prop(Display *display, Window window)
{
unsigned char some_text[40] = "hello world!";
int retval;
Atom my_atom;
my_atom = XInternAtom(display, "PERSONAL_PROPERTY", False);
if (my_atom == None)
{
printf("### failed to create atom with name PERSONAL_PROPERTY\n");
return;
}
retval = XChangeProperty(display, /* connection to x server */
window, /* window whose property we want to change */
my_atom, /* property name */
XA_STRING, /* type of property */
8, /* format of prop; can be 8, 16, 32 */
PropModeReplace,
some_text, /* actual data */
10 /* number of elements */
);
printf("###### XChangeProperty() reted %d\n", retval);
}