diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-06-10 00:19:02 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-06-10 00:19:02 +0000 |
| commit | 128209b1c3dd4be15b8ddf5e6e007a335e987549 (patch) | |
| tree | 1e97179f865ce58fa64d11848f9b3d3c5b10b801 /openbox/config.c | |
| parent | 3124112578c697899498252297cfbf499b1ff66c (diff) | |
let you use +-+-x in the positions for per-app settings, like x geometry
Diffstat (limited to 'openbox/config.c')
| -rw-r--r-- | openbox/config.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/openbox/config.c b/openbox/config.c index e34bc158..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); |
