-bool python_get_string(const char *name, otk::ustring *value)
-{
- PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
- if (!(val && PyString_Check(val))) return false;
-
- *value = PyString_AsString(val);
- return true;
+ // Set the net_desktop_names property
+ otk::Property::set(root,
+ otk::Property::atoms.net_desktop_names,
+ otk::Property::utf8, desktop_names);
+ // the above set() will cause screen::updateDesktopNames to fire right away
+ // so we have a list of desktop names
+
+ XEvent ce;
+ ce.xclient.type = ClientMessage;
+ ce.xclient.message_type = otk::Property::atoms.net_number_of_desktops;
+ ce.xclient.display = **otk::display;
+ ce.xclient.window = root;
+ ce.xclient.format = 32;
+ ce.xclient.data.l[0] = num_desktops;
+ XSendEvent(**otk::display, root, False,
+ SubstructureNotifyMask | SubstructureRedirectMask, &ce);