ipc: make 'layout' a string
This commit is contained in:
parent
97e45b9cfc
commit
51bfdbf0a8
18
src/ipc.c
18
src/ipc.c
|
@ -202,7 +202,23 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) {
|
||||||
y(integer, (con == focused));
|
y(integer, (con == focused));
|
||||||
|
|
||||||
ystr("layout");
|
ystr("layout");
|
||||||
y(integer, con->layout);
|
switch (con->layout) {
|
||||||
|
case L_DEFAULT:
|
||||||
|
ystr("default");
|
||||||
|
break;
|
||||||
|
case L_STACKED:
|
||||||
|
ystr("stacked");
|
||||||
|
break;
|
||||||
|
case L_TABBED:
|
||||||
|
ystr("tabbed");
|
||||||
|
break;
|
||||||
|
case L_DOCKAREA:
|
||||||
|
ystr("dockarea");
|
||||||
|
break;
|
||||||
|
case L_OUTPUT:
|
||||||
|
ystr("output");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
ystr("border");
|
ystr("border");
|
||||||
switch (con->border_style) {
|
switch (con->border_style) {
|
||||||
|
|
|
@ -131,6 +131,21 @@ static int json_string(void *ctx, const unsigned char *val, unsigned int len) {
|
||||||
json_node->border_style = BS_NORMAL;
|
json_node->border_style = BS_NORMAL;
|
||||||
else LOG("Unhandled \"border\": %s\n", buf);
|
else LOG("Unhandled \"border\": %s\n", buf);
|
||||||
free(buf);
|
free(buf);
|
||||||
|
} else if (strcasecmp(last_key, "layout") == 0) {
|
||||||
|
char *buf = NULL;
|
||||||
|
asprintf(&buf, "%.*s", (int)len, val);
|
||||||
|
if (strcasecmp(buf, "default") == 0)
|
||||||
|
json_node->layout = L_DEFAULT;
|
||||||
|
else if (strcasecmp(buf, "stacked") == 0)
|
||||||
|
json_node->layout = L_STACKED;
|
||||||
|
else if (strcasecmp(buf, "tabbed") == 0)
|
||||||
|
json_node->layout = L_TABBED;
|
||||||
|
else if (strcasecmp(buf, "dockarea") == 0)
|
||||||
|
json_node->layout = L_DOCKAREA;
|
||||||
|
else if (strcasecmp(buf, "output") == 0)
|
||||||
|
json_node->layout = L_OUTPUT;
|
||||||
|
else LOG("Unhandled \"layout\": %s\n", buf);
|
||||||
|
free(buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -142,6 +157,7 @@ static int json_int(void *ctx, long long val) {
|
||||||
static int json_int(void *ctx, long val) {
|
static int json_int(void *ctx, long val) {
|
||||||
#endif
|
#endif
|
||||||
LOG("int %d for key %s\n", val, last_key);
|
LOG("int %d for key %s\n", val, last_key);
|
||||||
|
// TODO: remove this after the next preview release
|
||||||
if (strcasecmp(last_key, "layout") == 0) {
|
if (strcasecmp(last_key, "layout") == 0) {
|
||||||
json_node->layout = val;
|
json_node->layout = val;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ my $expected = {
|
||||||
geometry => ignore(),
|
geometry => ignore(),
|
||||||
swallows => ignore(),
|
swallows => ignore(),
|
||||||
percent => 0,
|
percent => 0,
|
||||||
layout => 0,
|
layout => 'default',
|
||||||
focus => ignore(),
|
focus => ignore(),
|
||||||
focused => 0,
|
focused => 0,
|
||||||
urgent => 0,
|
urgent => 0,
|
||||||
|
|
Loading…
Reference in New Issue