void query_desktop(desktop_t *d, FILE *rsp) { fprintf(rsp, "{"); fprintf(rsp, "\"name\":\"%s\",", d->name); fprintf(rsp, "\"id\":%u,", d->id); fprintf(rsp, "\"layout\":\"%s\",", LAYOUT_STR(d->layout)); fprintf(rsp, "\"windowGap\":%i,", d->window_gap); fprintf(rsp, "\"borderWidth\":%u,", d->border_width); fprintf(rsp, "\"focusedNodeId\":%u,", d->focus != NULL ? d->focus->id : 0); fprintf(rsp, "\"padding\":"); query_padding(d->padding, rsp); fprintf(rsp,","); fprintf(rsp, "\"root\":"); query_node(d->root, rsp); fprintf(rsp, "}"); }
bool set_layout(monitor_t *m, desktop_t *d, layout_t l) { if (d->layout == l) { return false; } d->layout = l; handle_presel_feedbacks(m, d); arrange(m, d); put_status(SBSC_MASK_DESKTOP_LAYOUT, "desktop_layout 0x%08X 0x%08X %s\n", m->id, d->id, LAYOUT_STR(l)); if (d == m->desk) { put_status(SBSC_MASK_REPORT); } return true; }