diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-07-22 08:48:23 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-07-22 08:53:15 -0400 |
| commit | 64c59b7456bb99293e0c4c95871bed4361c9bd36 (patch) | |
| tree | fdaac6f2b6863e263dce09d60fdf4b8925feec8e | |
| parent | 6066a338fda51d488af2f4b98416daa192fcb1c6 (diff) | |
for MoveResizeTo make <width>current</width> and <height>current</height> and <monitor>current</monitor> work like <x> and <y>
| -rw-r--r-- | openbox/actions/moveresizeto.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/openbox/actions/moveresizeto.c b/openbox/actions/moveresizeto.c index 3ecf41ad..48b6e3bf 100644 --- a/openbox/actions/moveresizeto.c +++ b/openbox/actions/moveresizeto.c @@ -66,13 +66,25 @@ static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) if ((n = parse_find_node("y", node))) parse_coord(doc, n, &o->y, &o->yopposite, &o->ycenter); - if ((n = parse_find_node("width", node))) - o->w = parse_int(doc, n); - if ((n = parse_find_node("height", node))) - o->h = parse_int(doc, n); + if ((n = parse_find_node("width", node))) { + gchar *s = parse_string(doc, n); + if (g_ascii_strcasecmp(s, "current") != 0) + o->w = parse_int(doc, n); + g_free(s); + } + if ((n = parse_find_node("height", node))) { + gchar *s = parse_string(doc, n); + if (g_ascii_strcasecmp(s, "current") != 0) + o->h = parse_int(doc, n); + g_free(s); + } - if ((n = parse_find_node("monitor", node))) - o->monitor = parse_int(doc, n) - 1; + if ((n = parse_find_node("monitor", node))) { + gchar *s = parse_string(doc, n); + if (g_ascii_strcasecmp(s, "current") != 0) + o->monitor = parse_int(doc, n) - 1; + g_free(s); + } return o; } |
