print a warning when the session has a different number of desktops than the openbox...
authorDana Jansens <danakj@orodu.net>
Tue, 22 Jan 2008 17:54:53 +0000 (12:54 -0500)
committerDana Jansens <danakj@orodu.net>
Tue, 22 Jan 2008 18:01:56 +0000 (13:01 -0500)
openbox/config.c
openbox/config.h
openbox/screen.c

index 867dfb5..56e625d 100644 (file)
@@ -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);
index 240b04f..50e7dfe 100644 (file)
@@ -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 */
index e008ffe..932b157 100644 (file)
@@ -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);