X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=f18b77c9aa38618f1dac36bc844dbf8c728ef9ef;hb=6cd5f7ea380e155dbd7b29f01dd3fcfb5858ad61;hp=325beeb14a44096ebd66e702b153c19c61c0f704;hpb=492b66ea148feaa92390a16b6e3a0e18157a31c7;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index 325beeb1..f18b77c9 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -102,8 +102,8 @@ GSList *config_per_app_settings; 700 0 + 1 - 1 */ @@ -151,64 +151,71 @@ static void parse_per_app_settings(ObParseInst *i, xmlDocPtr doc, settings->decor = -1; if ((n = parse_find_node("decor", app->children))) - settings->decor = parse_bool(doc, n); + if (!parse_contains("default", doc, n)) + settings->decor = parse_bool(doc, n); settings->shade = -1; if ((n = parse_find_node("shade", app->children))) - settings->shade = parse_bool(doc, n); + if (!parse_contains("default", doc, n)) + settings->shade = parse_bool(doc, n); settings->position.x = settings->position.y = 0; settings->pos_given = FALSE; if ((n = parse_find_node("position", app->children))) { - if ((c = parse_find_node("x", n->children))) { - gchar *s = parse_string(doc, c); - if (!strcmp(s, "center")) { - settings->center_x = TRUE; - x_pos_given = TRUE; - } else { - settings->position.x = parse_int(doc, c); - x_pos_given = TRUE; + if ((c = parse_find_node("x", n->children))) + if (!parse_contains("default", doc, c)) { + gchar *s = parse_string(doc, c); + if (!strcmp(s, "center")) { + settings->center_x = TRUE; + x_pos_given = TRUE; + } else { + settings->position.x = parse_int(doc, c); + x_pos_given = TRUE; + } + g_free(s); } - g_free(s); - } - - if (x_pos_given && (c = parse_find_node("y", n->children))) { - gchar *s = parse_string(doc, c); - if (!strcmp(s, "center")) { - settings->center_y = TRUE; - settings->pos_given = TRUE; - } else { - settings->position.y = parse_int(doc, c); - settings->pos_given = TRUE; + + if (x_pos_given && (c = parse_find_node("y", n->children))) + if (!parse_contains("default", doc, )) { + gchar *s = parse_string(doc, c); + if (!strcmp(s, "center")) { + settings->center_y = TRUE; + settings->pos_given = TRUE; + } else { + settings->position.y = parse_int(doc, c); + settings->pos_given = TRUE; + } + g_free(s); + } + + if (settings->pos_given && + (c = parse_find_node("head", n->children))) + if (!parse_contains("default", doc, n)) { + gchar *s = parse_string(doc, n); + if (!strcmp(s, "mouse")) + settings->head = -1; + else + settings->head = parse_int(doc, n); + g_free(s); } - g_free(s); - } } settings->focus = -1; if ((n = parse_find_node("focus", app->children))) - settings->focus = parse_bool(doc, n); - - if ((n = parse_find_node("desktop", app->children))) { - gchar *s = parse_string(doc, n); - if (!strcmp(s, "all")) - settings->desktop = DESKTOP_ALL; - else - settings->desktop = parse_int(doc, n); - g_free(s); - } else - settings->desktop = DESKTOP_ALL - 1; /* lets hope the user - * doesn't have 2^32 - * desktops */ - - if ((n = parse_find_node("head", app->children))) { - gchar *s = parse_string(doc, n); - if (!strcmp(s, "mouse")) - settings->head = -1; - else - settings->head = parse_int(doc, n); - g_free(s); - } + if (!parse_contains("default", doc, n)) + settings->focus = parse_bool(doc, n); + + if ((n = parse_find_node("desktop", app->children))) + if (!parse_contains("default", doc, n)) { + gchar *s = parse_string(doc, n); + if (!strcmp(s, "all")) + settings->desktop = DESKTOP_ALL; + else + settings->desktop = parse_int(doc, n); + g_free(s); + } else + /* lets hope the user doesn't have 2^32 desktops */ + settings->desktop = DESKTOP_ALL - 1; settings->layer = -2; if ((n = parse_find_node("layer", app->children))) { @@ -663,15 +670,13 @@ static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, parse_expand_tilde(c)); g_free(c); } - if ((n = parse_find_node("warpPointer", node))) - config_menu_warppointer = parse_bool(doc, n); if ((n = parse_find_node("hideDelay", node))) config_menu_hide_delay = parse_int(doc, n); if ((n = parse_find_node("middle", node))) config_menu_middle = parse_bool(doc, n); if ((n = parse_find_node("submenuShowDelay", node))) config_submenu_show_delay = parse_int(doc, n); - if ((n = parse_find_node("desktopMenuIcons", node))) + if ((n = parse_find_node("applicationIcons", node))) config_menu_client_list_icons = parse_bool(doc, n); } } @@ -809,7 +814,7 @@ void config_startup(ObParseInst *i) config_theme = NULL; - config_animate_iconify = FALSE; + config_animate_iconify = TRUE; config_title_layout = g_strdup("NLIMC"); config_theme_keepborder = TRUE; config_theme_hidedisabled = FALSE;