X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=10a60fb4b35743380113f065483c5b4875b81f22;hb=71f5b460cd4a68a6d3004844a36f55637777a911;hp=133fb4a688d953814753d6d0a455b3ac8a6ef03f;hpb=097d02d9d3d4b2eeea11084c54812de9cd7d14c0;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index 133fb4a6..10a60fb4 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -132,6 +132,8 @@ void config_app_settings_copy_non_defaults(const ObAppSettings *src, dst->pos_given = TRUE; dst->center_x = src->center_x; dst->center_y = src->center_y; + dst->opposite_x = src->opposite_x; + dst->opposite_y = src->opposite_y; dst->position.x = src->position.x; dst->position.y = src->position.y; dst->monitor = src->monitor; @@ -208,7 +210,12 @@ static void parse_per_app_settings(ObParseInst *i, xmlDocPtr doc, settings->center_x = TRUE; x_pos_given = TRUE; } else { - settings->position.x = parse_int(doc, c); + if (s[0] == '-') + settings->opposite_x = TRUE; + if (s[0] == '-' || s[0] == '+') + settings->position.x = atoi(s+1); + else + settings->position.x = atoi(s); x_pos_given = TRUE; } g_free(s); @@ -221,7 +228,12 @@ static void parse_per_app_settings(ObParseInst *i, xmlDocPtr doc, settings->center_y = TRUE; settings->pos_given = TRUE; } else { - settings->position.y = parse_int(doc, c); + if (s[0] == '-') + settings->opposite_y = TRUE; + if (s[0] == '-' || s[0] == '+') + settings->position.y = atoi(s+1); + else + settings->position.y = atoi(s); settings->pos_given = TRUE; } g_free(s); @@ -851,7 +863,7 @@ void config_startup(ObParseInst *i) config_focus_follow = FALSE; config_focus_delay = 0; config_focus_raise = FALSE; - config_focus_last = FALSE; + config_focus_last = TRUE; config_focus_under_mouse = FALSE; parse_register(i, "focus", parse_focus, NULL);