for MoveResizeTo make <width>current</width> and <height>current</height> and <monitor>current</monitor> work like <x> and <y>
Dana Jansens danakj@orodu.net
1 files changed,
18 insertions(+),
6 deletions(-)
jump to
M
openbox/actions/moveresizeto.c
→
openbox/actions/moveresizeto.c
@@ -66,13 +66,25 @@
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; }