]> Dogcows Code - chaz/openbox/commitdiff
set the desktop names when there are too few from the config file when possible....
authorDana Jansens <danakj@orodu.net>
Wed, 23 May 2007 03:16:45 +0000 (03:16 +0000)
committerDana Jansens <danakj@orodu.net>
Wed, 23 May 2007 03:16:45 +0000 (03:16 +0000)
if we change the desktop names at all, set the root hint so other apps know about it too and we can all agree

openbox/screen.c

index c92aee18e87f174d8d00f9ab3506c4e940bab757..b9cbdd2cd8dc2d88270780131f13e40e11e92b69 100644 (file)
@@ -900,11 +900,28 @@ void screen_update_desktop_names()
     else
         i = 0;
     if (i < screen_num_desktops) {
+        GSList *it;
+
         screen_desktop_names = g_renew(gchar*, screen_desktop_names,
                                        screen_num_desktops + 1);
         screen_desktop_names[screen_num_desktops] = NULL;
-        for (; i < screen_num_desktops; ++i)
-            screen_desktop_names[i] = g_strdup_printf("desktop %i", i + 1);
+
+        it = g_slist_nth(config_desktops_names, i);
+
+        for (; i < screen_num_desktops; ++i) {
+            if (it)
+                /* use the names from the config file when possible */
+                screen_desktop_names[i] = g_strdup(it->data);
+            else
+                /* make up a nice name if it's not though */
+                screen_desktop_names[i] = g_strdup_printf("desktop %i", i + 1);
+            if (it) it = g_slist_next(it);
+        }
+
+        /* if we changed any names, then set the root property so we can
+           all agree on the names */
+        PROP_SETSS(RootWindow(ob_display, ob_screen), net_desktop_names,
+                   screen_desktop_names);
     }
 
     /* resize the pager for these names */
This page took 0.02874 seconds and 4 git commands to generate.