From f476442531061fb6d36e3cc79decac10b985db35 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 22 Jan 2008 12:54:53 -0500 Subject: [PATCH] print a warning when the session has a different number of desktops than the openbox config --- openbox/config.c | 4 ++-- openbox/config.h | 2 +- openbox/screen.c | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/openbox/config.c b/openbox/config.c index 867dfb5..56e625d 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 240b04f..50e7dfe 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 e008ffe..932b157 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); -- 1.9.1