- /* set the names */
- screen_desktop_names = g_new(gchar*,
- g_slist_length(config_desktops_names) + 1);
- for (i = 0, it = config_desktops_names; it; ++i, it = g_slist_next(it))
- screen_desktop_names[i] = it->data; /* dont strdup */
- screen_desktop_names[i] = NULL;
+ /* get the names */
+ if (PROP_GETSS(RootWindow(ob_display, ob_screen),
+ net_desktop_names, utf8, &screen_desktop_names))
+ for (i = 0; screen_desktop_names[i]; ++i);
+ else
+ i = 0;
+ for (it = g_slist_nth(config_desktops_names, i); it;
+ it = g_slist_next(it), ++i)
+ {
+ screen_desktop_names = g_renew(gchar*, screen_desktop_names, i + 2);
+ screen_desktop_names[i+1] = NULL;
+ screen_desktop_names[i] = g_strdup(it->data);
+ }
+ /* then set the names */