all repos — openbox @ 64c59b7456bb99293e0c4c95871bed4361c9bd36

openbox fork - make it a bit more like ryudo

for MoveResizeTo make <width>current</width> and <height>current</height> and <monitor>current</monitor> work like <x> and <y>
Dana Jansens danakj@orodu.net
commit

64c59b7456bb99293e0c4c95871bed4361c9bd36

parent

6066a338fda51d488af2f4b98416daa192fcb1c6

1 files changed, 18 insertions(+), 6 deletions(-)

jump to
M openbox/actions/moveresizeto.copenbox/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; }