all repos — openbox @ 1cafe0ba4c11baf1f2214c10c1e00ea930d63adc

openbox fork - make it a bit more like ryudo

set the desktop names when there are too few from the config file when possible. otherwise use "desktop %d".

if we change the desktop names at all, set the root hint so other apps know about it too and we can all agree
Dana Jansens danakj@orodu.net
commit

1cafe0ba4c11baf1f2214c10c1e00ea930d63adc

parent

6f6ab8c442b1626a1cd28868900a00fe4bf8cb08

1 files changed, 19 insertions(+), 2 deletions(-)

jump to
M openbox/screen.copenbox/screen.c

@@ -900,11 +900,28 @@ for (i = 0; screen_desktop_names[i] && i < screen_num_desktops; ++i);

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 */