static void tdHandleCompizEvent(CompDisplay * d, char *pluginName, char *eventName, CompOption * option, int nOption) { TD_DISPLAY(d); UNWRAP (tdd, d, handleCompizEvent); (*d->handleCompizEvent) (d, pluginName, eventName, option, nOption); WRAP (tdd, d, handleCompizEvent, tdHandleCompizEvent); if (strcmp(pluginName, "cube") == 0) { if (strcmp(eventName, "unfoldEvent") == 0) { Window xid = getIntOptionNamed(option, nOption, "root", 0); CompScreen *s = findScreenAtDisplay(d, xid); if (s) { TD_SCREEN(s); tds->cubeUnfolded = getBoolOptionNamed(option, nOption, "unfolded", FALSE); } } } else if (strcmp(pluginName, "rotate") == 0) { if (strcmp(eventName, "rotateEvent") == 0) { Window xid = getIntOptionNamed(option, nOption, "root", 0); CompScreen *s = findScreenAtDisplay(d, xid); if (s) { TD_SCREEN(s); Bool rotate = getBoolOptionNamed(option, nOption, "rotating", FALSE); Bool manual = getBoolOptionNamed(option, nOption, "manual", FALSE); if (rotate && manual) tds->rotationMode = RotationManual; else if (rotate) tds->rotationMode = RotationChange; else tds->rotationMode = NoRotation; } } } }