All pastes #431560 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-04-09 19:19 UTC
rendered paste body
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;
			}
		}
	}
}