void query_client(client_t *c, FILE *rsp) { if (c == NULL) { fprintf(rsp, "null"); } else { fprintf(rsp, "{"); fprintf(rsp, "\"className\":\"%s\",", c->class_name); fprintf(rsp, "\"instanceName\":\"%s\",", c->instance_name); fprintf(rsp, "\"borderWidth\":%u,", c->border_width); fprintf(rsp, "\"state\":\"%s\",", STATE_STR(c->state)); fprintf(rsp, "\"lastState\":\"%s\",", STATE_STR(c->last_state)); fprintf(rsp, "\"layer\":\"%s\",", LAYER_STR(c->layer)); fprintf(rsp, "\"lastLayer\":\"%s\",", LAYER_STR(c->last_layer)); fprintf(rsp, "\"urgent\":%s,", BOOL_STR(c->urgent)); fprintf(rsp, "\"shown\":%s,", BOOL_STR(c->shown)); fprintf(rsp, "\"tiledRectangle\":"); query_rectangle(c->tiled_rectangle, rsp); fprintf(rsp,","); fprintf(rsp, "\"floatingRectangle\":"); query_rectangle(c->floating_rectangle, rsp); fprintf(rsp, "}"); } }
void print_rule_consequence(char **buf, rule_consequence_t *csq) { char *rect_buf = NULL; print_rectangle(&rect_buf, csq->rect); if (rect_buf == NULL) { rect_buf = malloc(1); *rect_buf = '\0'; } asprintf(buf, "monitor=%s desktop=%s node=%s state=%s layer=%s split_dir=%s split_ratio=%lf hidden=%s sticky=%s private=%s locked=%s marked=%s center=%s follow=%s manage=%s focus=%s border=%s rectangle=%s", csq->monitor_desc, csq->desktop_desc, csq->node_desc, csq->state == NULL ? "" : STATE_STR(*csq->state), csq->layer == NULL ? "" : LAYER_STR(*csq->layer), csq->split_dir, csq->split_ratio, ON_OFF_STR(csq->hidden), ON_OFF_STR(csq->sticky), ON_OFF_STR(csq->private), ON_OFF_STR(csq->locked), ON_OFF_STR(csq->marked), ON_OFF_STR(csq->center), ON_OFF_STR(csq->follow), ON_OFF_STR(csq->manage), ON_OFF_STR(csq->focus), ON_OFF_STR(csq->border), rect_buf); free(rect_buf); }