rendered paste body--- ../beryl/beryl-plugins/src/rotate.c 2006-12-06 05:42:51.000000000 -0700+++ beryl-plugins/src/rotate.c 2006-12-06 06:25:18.000000000 -0700@@ -971,6 +971,11 @@ xid = getIntOptionNamed(option, nOption, "root", 0); s = findScreenAtDisplay(d, xid);++ Bool zoom = IPCS_GetBoolND (IPCS_OBJECT (s), "ZOOM_IS_ACTIVE", FALSE);+ if (state & CompActionStateInitButton && zoom)+ return FALSE;+ if (s) { ROTATE_SCREEN(s); --- ../beryl/beryl-plugins/src/inputzoom.c 2006-12-06 05:42:51.000000000 -0700+++ beryl-plugins/src/inputzoom.c 2006-12-06 06:23:15.000000000 -0700@@ -131,6 +131,8 @@ Bool showScaled; Bool hideNormal; + int ipcs_active_atom;+ float maxTranslate; } ZoomScreen; @@ -642,9 +644,13 @@ xid = getIntOptionNamed(option, nOption, "root", 0); s = findScreenAtDisplay(d, xid);+ if (s) { ZOOM_SCREEN(s); + if (screenGrabExist(s, "cube", "rotate", 0))+ return FALSE;+ zs->active = TRUE; if (zd->fixesSupported && !zs->cursorInfoSelected@@ -665,6 +671,12 @@ if (zs->newScale > zs->maxScale) zs->newScale = zs->maxScale; + if(zs->newScale != 1.0)+ IPCS_SetBool (IPCS_OBJECT (s), zs->ipcs_active_atom, TRUE);+ else+ IPCS_SetBool (IPCS_OBJECT (s), zs->ipcs_active_atom, FALSE);++ damageScreen(s); } @@ -707,6 +719,12 @@ if (zs->newScale < 1.0) zs->newScale = 1.0; + if(zs->newScale != 1.0)+ IPCS_SetBool (IPCS_OBJECT (s), zs->ipcs_active_atom, TRUE);+ else+ IPCS_SetBool (IPCS_OBJECT (s), zs->ipcs_active_atom, FALSE);++ damageScreen(s); } @@ -929,6 +947,9 @@ zs->showScaled = ZOOM_SHOW_SCALED_CURSOR_DEFAULT; zs->hideNormal = ZOOM_HIDE_NORMAL_CURSOR_DEFAULT; + zs->ipcs_active_atom = IPCS_GetAtom (IPCS_OBJECT (s), IPCS_BOOL, "ZOOM_IS_ACTIVE", TRUE);++ return TRUE; }