+ } else if (streq("state", key)) {
+ client_state_t cst;
+ if (parse_client_state(value, &cst)) {
+ if (csq->state == NULL) {
+ csq->state = malloc(sizeof(client_state_t));
+ }
+ *(csq->state) = cst;
+ }
+ } else if (streq("layer", key)) {
+ stack_layer_t lyr;
+ if (parse_stack_layer(value, &lyr)) {
+ if (csq->layer == NULL) {
+ csq->layer = malloc(sizeof(stack_layer_t));
+ }
+ *(csq->layer) = lyr;
+ }
+ } else if (streq("split_ratio", key)) {
+ double rat;
+ if (sscanf(value, "%lf", &rat) == 1 && rat > 0 && rat < 1) {
+ csq->split_ratio = rat;
+ }