From: Dana Jansens Date: Tue, 22 Jan 2008 17:54:53 +0000 (-0500) Subject: print a warning when the session has a different number of desktops than the openbox... X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fopenbox;a=commitdiff_plain;h=f476442531061fb6d36e3cc79decac10b985db35 print a warning when the session has a different number of desktops than the openbox config --- diff --git a/openbox/config.c b/openbox/config.c index 867dfb51..56e625d4 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -55,7 +55,7 @@ RrFont *config_font_menuitem; RrFont *config_font_menutitle; RrFont *config_font_osd; -gint config_desktops_num; +guint config_desktops_num; GSList *config_desktops_names; guint config_screen_firstdesk; guint config_desktop_popup_time; @@ -605,7 +605,7 @@ static void parse_desktops(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, if ((n = parse_find_node("number", node))) { gint d = parse_int(doc, n); if (d > 0) - config_desktops_num = d; + config_desktops_num = (unsigned) d; } if ((n = parse_find_node("firstdesk", node))) { gint d = parse_int(doc, n); diff --git a/openbox/config.h b/openbox/config.h index 240b04f1..50e7dfe3 100644 --- a/openbox/config.h +++ b/openbox/config.h @@ -143,7 +143,7 @@ extern RrFont *config_font_menuitem; extern RrFont *config_font_osd; /*! The number of desktops */ -extern gint config_desktops_num; +extern guint config_desktops_num; /*! Desktop to start on, put 5 to start in the center of a 3x3 grid */ extern guint config_screen_firstdesk; /*! Names for the desktops */ diff --git a/openbox/screen.c b/openbox/screen.c index e008ffe5..932b157e 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -402,7 +402,13 @@ void screen_startup(gboolean reconfig) screen_num_desktops = 0; if (PROP_GET32(RootWindow(ob_display, ob_screen), net_number_of_desktops, cardinal, &d)) + { + if (d != config_desktops_num) { + g_warning(_("Openbox is configured for %d desktops, but the current session has %d. Overriding the Openbox configuration."), + config_desktops_num, d); + } screen_set_num_desktops(d); + } /* restore from session if possible */ else if (session_num_desktops) screen_set_num_desktops(session_num_desktops);