All pastes #1289264 Raw Edit

Meins

public text v1 · immutable
#1289264 ·published 2008-12-19 12:16 UTC
rendered paste body
From a0bae79626c6100bc1cd98a244bab62d1b49414e Mon Sep 17 00:00:00 2001
From: Danny Baumann <dannybaumann@web.de>
Date: Fri, 19 Dec 2008 09:36:19 +0100
Subject: [PATCH] Cleanup, compiz coding style.

---
 autumn.c    |   54 +++--
 bubbles.c   |   44 ++--
 elements.c  |  776 ++++++++++++++++++++++++++++++++---------------------------
 fireflies.c |   83 ++++---
 snow.c      |   12 +-
 stars.c     |   49 +++--
 6 files changed, 562 insertions(+), 456 deletions(-)

diff --git a/autumn.c b/autumn.c
index ee780c0..f11fc0f 100644
--- a/autumn.c
+++ b/autumn.c
@@ -4,11 +4,10 @@
 
 void
 initiateAutumnElement (CompScreen *s,
-		       Element *e)
+		       Element    *e)
 {
-    int   i;
-    float xSway = elementsMmRand(elementsGetAutumnSway( s),elementsGetAutumnSway( s),2.0);
-    float ySway = elementsGetAutumnYSway(s) / 20.0;
+    int           i;
+    float         xSway, ySway;
     AutumnElement *ae;
 
     if (!e->ptr)
@@ -19,43 +18,52 @@ initiateAutumnElement (CompScreen *s,
 
     ae = (AutumnElement *) e->ptr;
 
+    xSway = elementsMmRand (elementsGetAutumnSway (s),
+			    elementsGetAutumnSway (s), 2.0);
+    ySway = elementsGetAutumnYSway (s) / 20.0;
+
     for (i = 0; i < MAX_AUTUMN_AGE; i++)
-    {
-	ae->autumnFloat[0][i] = -xSway + (i * ((2 * xSway)/(MAX_AUTUMN_AGE-1)));
-    }
+	ae->autumnFloat[0][i] = -xSway +
+				(i * ((2 * xSway) / (MAX_AUTUMN_AGE - 1)));
+
     for (i = 0; i < (MAX_AUTUMN_AGE / 2); i++)
-    {
-	ae->autumnFloat[1][i] = -ySway + (i * ((2 * ySway)/(MAX_AUTUMN_AGE-1)));
-    }
+	ae->autumnFloat[1][i] = -ySway +
+				(i * ((2 * ySway) / (MAX_AUTUMN_AGE - 1)));
+
     for (; i < MAX_AUTUMN_AGE; i++)
-    {
-	ae->autumnFloat[1][i] = ySway - (i * ((2 * ySway)/(MAX_AUTUMN_AGE-1)));
-    }
-    ae->autumnAge[0] = elementsGetRand(0,MAX_AUTUMN_AGE-1);
-    ae->autumnAge[1] = elementsGetRand(0,(MAX_AUTUMN_AGE/2)-1);
-    e->x  = elementsMmRand (0, s->width, 1);
    ae->autumnChange = 1;
+	ae->autumnFloat[1][i] = ySway -
+				(i * ((2 * ySway) / (MAX_AUTUMN_AGE - 1)));
+
+    ae->autumnAge[0] = elementsGetRand (0, MAX_AUTUMN_AGE - 1);
+    ae->autumnAge[1] = elementsGetRand (0, (MAX_AUTUMN_AGE / 2) - 1);
+    ae->autumnChange = 1;
+
+    e->x  = elementsMmRand (0, s->width, 1);
     e->y  = -elementsMmRand (100, BIG_NUMBER, 1);
     e->dy = elementsMmRand (-2, -1, 5);
 }
 
 void
-autumnMove (CompScreen *s,
+autumnMove (CompScreen       *s,
 	    ElementAnimation *anim,
-	    Element *e,
-	    int     updateDelay)
+	    Element          *e,
+	    int              updateDelay)
 {
-    float autumnSpeed = anim->speed/30.0f;
+    float         autumnSpeed = anim->speed / 30.0f;
     AutumnElement *ae = (AutumnElement *) e->ptr;
 
-    if (!e->ptr)
+    if (!ae)
 	return;
 
-    e->x += (ae->autumnFloat[0][ae->autumnAge[0]] * (float) updateDelay) * 0.0125;
-    e->y += (ae->autumnFloat[1][ae->autumnAge[1]] * (float) updateDelay) * 0.0125 + autumnSpeed;
+    e->x += (ae->autumnFloat[0][ae->autumnAge[0]] * (float) updateDelay) / 80;
+    e->y += (ae->autumnFloat[1][ae->autumnAge[1]] * (float) updateDelay) / 80 +
+	    autumnSpeed;
     e->z += (e->dz * (float) updateDelay) * autumnSpeed / 100.0;
     e->rAngle += ((float) updateDelay) / (10.1f - e->rSpeed);
+
     ae->autumnAge[0] += ae->autumnChange;
     ae->autumnAge[1] += 1;
+
     if (ae->autumnAge[1] >= MAX_AUTUMN_AGE)
     {
 	ae->autumnAge[1] = 0;
diff --git a/bubbles.c b/bubbles.c
index 5da95a3..8343dcd 100644
--- a/bubbles.c
+++ b/bubbles.c
@@ -4,13 +4,12 @@
 
 void
 initiateBubbleElement (CompScreen *s,
-		       Element *e)
+		       Element    *e)
 {
-    int i;
-    float temp = elementsMmRand (elementsGetViscosity (s) / 2.0,
-				 elementsGetViscosity (s),50.0);
-    float xSway = 1.0 - temp*temp * 1.0 / 4.0;
+    int           i;
+    float         temp, xSway;
     BubbleElement *be;
+
     if (!e->ptr)
 	e->ptr = calloc (1, sizeof (BubbleElement));
 
@@ -19,37 +18,40 @@ initiateBubbleElement (CompScreen *s,
 
     be = (BubbleElement *) e->ptr;
 
+    temp  = elementsMmRand (elementsGetViscosity (s) / 2.0,
+			    elementsGetViscosity (s), 50.0);
+    xSway = 1.0 - temp * temp / 4.0;
+
     for (i = 0; i < MAX_AUTUMN_AGE; i++)
-    {
-	be->bubbleFloat[0][i] =
-	-xSway + (i * ((2 * xSway) / (MAX_AUTUMN_AGE-1)));
-    }
+	be->bubbleFloat[0][i] = -xSway +
+				(i * ((2 * xSway) / (MAX_AUTUMN_AGE - 1)));
 
-    be->bubbleAge[0] = elementsGetRand(0,MAX_AUTUMN_AGE-1);
+    be->bubbleAge[0] = elementsGetRand (0, MAX_AUTUMN_AGE - 1);
     be->bubbleAge[1] = be->bubbleAge[0];
-    e->x  = elementsMmRand (0, s->width, 1);
     be->bubbleChange = 1;
-    e->y = elementsMmRand (s->height+100, s->height+ BIG_NUMBER,1);
+
+    e->x  = elementsMmRand (0, s->width, 1);
+    e->y  = elementsMmRand (s->height + 100, s->height + BIG_NUMBER, 1);
     e->dy = elementsMmRand (-2, -1, 5);
 }
 
 void
-bubbleMove (CompScreen *s,
+bubbleMove (CompScreen       *s,
 	    ElementAnimation *anim,
-	    Element *e,
-	    int     updateDelay)
+	    Element          *e,
+	    int              updateDelay)
 {
-    float bubblesSpeed = anim->speed / 30.0f;
+    float         bubblesSpeed = anim->speed / 30.0f;
     BubbleElement *be = (BubbleElement *) e->ptr;
 
-    if (!e->ptr)
+    if (!be)
 	return;
 
-    e->x += (be->bubbleFloat[0][be->bubbleAge[0]]
-	     * (float) updateDelay) * 0.125;
+    e->x += (be->bubbleFloat[0][be->bubbleAge[0]] * (float) updateDelay) / 8;
     e->y += (e->dy * (float) updateDelay) * bubblesSpeed;
     e->z += (e->dz * (float) updateDelay) * bubblesSpeed / 100.0;
     e->rAngle += ((float) updateDelay) / (10.1f - e->rSpeed);
+
     be->bubbleAge[0] += be->bubbleChange;
     if (be->bubbleAge[0] >= MAX_AUTUMN_AGE)
     {
@@ -65,14 +67,12 @@ bubbleMove (CompScreen *s,
 
 void
 bubbleFini (CompScreen *s,
-	    Element *e)
+	    Element    *e)
 {
     BubbleElement *be = (BubbleElement *) e->ptr;
 
     if (be)
-    {
 	free (be);
-    }
 
     e->ptr = NULL;
 }
diff --git a/elements.c b/elements.c
index 2458316..26865ee 100644
--- a/elements.c
+++ b/elements.c
@@ -40,7 +40,8 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA  02110-1301, USA.
  **/
 
 #include <compiz-core.h>
@@ -56,7 +57,7 @@ int
 elementsGetRand (int min,
 		 int max)
 {
-    return (rand() % (max - min + 1) + min);
+    return (rand () % (max - min + 1) + min);
 }
 
 float
@@ -64,7 +65,7 @@ elementsMmRand (int   min,
 		int   max,
 		float divisor)
 {
-    return ((float) elementsGetRand(min, max)) / divisor;
+    return ((float) elementsGetRand (min, max)) / divisor;
 }
 
 int elementsGetEBoxing (CompScreen *s)
@@ -81,15 +82,16 @@ int elementsGetEDepth (CompScreen *s)
  * remove it and re-initiate it. Otherwise move it */
 
 static void
-elementTestCreate (CompScreen *s,
-		   Element *ele,
+elementTestCreate (CompScreen       *s,
+		   Element          *ele,
 		   ElementAnimation *anim)
 {
     if (ele)
     {
-	if ((ele->y >= s->height + 200 || ele->x <= -200 ||
-	     ele->x >= s->width + 200 ||
-	     ele->y >= s->height + 200 ||
+	if ((ele->y >= s->height + 200                               ||
+	     ele->x <= -200                                          ||
+	     ele->x >= s->width + 200                                ||
+	     ele->y >= s->height + 200                               ||
 	     ele->z <= -((float) elementsGetScreenDepth (s) / 500.0) ||
 	     ele->z >= ((float)elementsGetScreenBoxing (s) / 5.0f)))
 	{
@@ -108,10 +110,10 @@ elementTestCreate (CompScreen *s,
  */
 
 static Bool
-elementTestOffscreen (CompScreen *s,
+elementTestOffscreen (CompScreen       *s,
 		      ElementAnimation *anim)
 {
-    int i;
+    int     i;
     Element *e;
     Bool    ret = TRUE;
 
@@ -120,13 +122,14 @@ elementTestOffscreen (CompScreen *s,
 	e = &anim->elements[i];
 	if (e)
 	{
-	    if (!(e->y >= s->height + 200 || e->x <= -200||
-		e->x >= s->width + 200 ||
-	        e->y >= s->height + 200 ||
-	        e->z <= -((float) elementsGetScreenDepth (s) / 500.0) ||
-	        e->z >= 1 ||
-		e->y <= -((float)elementsGetScreenBoxing (s) / 5.0f))
-		&& e->opacity > 0.0f)
+	    if (!(e->y >= s->height + 200                               ||
+		  e->x <= -200                                          ||
+		  e->x >= s->width + 200                                ||
+		  e->y >= s->height + 200                               ||
+		  e->z <= -((float) elementsGetScreenDepth (s) / 500.0) ||
+		  e->z >= 1                                             ||
+		  e->y <= -((float) elementsGetScreenBoxing (s) / 5.0f)) &&
+		e->opacity > 0.0f)
 	    {
 		ret = FALSE;
 	    }
@@ -154,10 +157,10 @@ elementTestOffscreen (CompScreen *s,
 
 /* Element Text Display Management */
 
-static void 
+static void
 elementsFreeTitle (CompScreen *s)
 {
-    ELEMENTS_SCREEN(s);
+    ELEMENTS_SCREEN (s);
 
     if (!es->textPixmap)
 	return;
@@ -169,19 +172,19 @@ elementsFreeTitle (CompScreen *s)
     damageScreen (s);
 }
 
-static void 
+static void
 elementsRenderTitle (CompScreen *s,
-		     char *stringData)
+		     char       *stringData)
 {
     CompTextAttrib tA;
     int            stride;
     void           *data;
+    int            ox1, ox2, oy1, oy2;
 
     ELEMENTS_SCREEN (s);
 
     elementsFreeTitle (s);
 
-    int ox1, ox2, oy1, oy2;
     getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2);
 
     /* 75% of the output device es maximum width */
@@ -193,9 +196,8 @@ elementsRenderTitle (CompScreen *s,
     tA.color[1] = elementsGetTitleFontColorGreen (s);
     tA.color[2] = elementsGetTitleFontColorBlue (s);
     tA.color[3] = elementsGetTitleFontColorAlpha (s);
-    
-    tA.style = TEXT_STYLE_NORMAL;
-    tA.style |= TEXT_STYLE_BACKGROUND;
+
+    tA.style = TEXT_STYLE_NORMAL | TEXT_STYLE_BACKGROUND;
     tA.backgroundHMargin = 10.0f;
     tA.backgroundVMargin = 10.0f;
     tA.backgroundColor[0] = elementsGetTitleBackColorRed (s);
@@ -207,7 +209,7 @@ elementsRenderTitle (CompScreen *s,
 
     tA.renderMode = TextRenderNormal;
 
-    tA.data = (void*)stringData;
+    tA.data = (void *) stringData;
 
     initTexture (s, &es->textTexture);
 
@@ -232,21 +234,21 @@ elementsRenderTitle (CompScreen *s,
 static void
 elementsDrawTitle (CompScreen *s)
 {
+    GLboolean  wasBlend;
+    GLint      oldBlendSrc, oldBlendDst;
+    float      x, y, width, height;
+    int        ox1, ox2, oy1, oy2, k;
+    CompMatrix *m;
+
     ELEMENTS_SCREEN(s);
-    GLboolean wasBlend;
-    GLint oldBlendSrc, oldBlendDst;
 
-    float width = es->textWidth;
-    float height = es->textHeight;
+    width  = es->textWidth;
+    height = es->textHeight;
 
-    int ox1, ox2, oy1, oy2;
     getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2);
 
-    float x = ox1 + ((ox2 - ox1) / 2) - (width / 2);
-    float y = oy1 + ((oy2 - oy1) * 3 / 4) + (height / 2);
-
-    x = floor (x);
-    y = floor (y);
+    x = floor (ox1 + ((ox2 - ox1) / 2) - (width / 2));
+    y = floor (oy1 + ((oy2 - oy1) * 3 / 4) + (height / 2));
 
     glGetIntegerv (GL_BLEND_SRC, &oldBlendSrc);
     glGetIntegerv (GL_BLEND_DST, &oldBlendDst);
@@ -258,9 +260,9 @@ elementsDrawTitle (CompScreen *s)
 
     glColor4f(1.0f, 1.0f, 1.0f, 0.7f);
 
-    enableTexture (s, &es->textTexture,COMP_TEXTURE_FILTER_GOOD);
+    enableTexture (s, &es->textTexture, COMP_TEXTURE_FILTER_GOOD);
 
-    CompMatrix *m = &es->textTexture.matrix;
+    m = &es->textTexture.matrix;
 
     if (es->renderTexture && es->eTexture)
     {
@@ -299,17 +301,18 @@ elementsDrawTitle (CompScreen *s)
     if (es->renderTexture && es->eTexture)
     {
 	int border = 5;
-	width = es->eTexture[es->nTexture].width;
+	width  = es->eTexture[es->nTexture].width;
 	height = es->eTexture[es->nTexture].height;
 
 	glPushMatrix ();
 
-	glColor4f((float)elementsGetTitleBackColorRed (s) / OPAQUE,
-	          (float)elementsGetTitleBackColorGreen (s) / OPAQUE,
-	          (float)elementsGetTitleBackColorBlue (s) / OPAQUE,
-	          (float)elementsGetTitleBackColorAlpha (s) / OPAQUE);
+	glColor4f ((float) elementsGetTitleBackColorRed (s) / OPAQUE,
+		   (float) elementsGetTitleBackColorGreen (s) / OPAQUE,
+		   (float) elementsGetTitleBackColorBlue (s) / OPAQUE,
+		   (float) elementsGetTitleBackColorAlpha (s) / OPAQUE);
 
-	glTranslatef (x + es->textWidth - width, y - height + (border / 2),
+	glTranslatef (x + es->textWidth - width,
+		      y - height + (border / 2),
 		      0.0f);
 	glRectf (0.0f, height, width, 0.0f);
 	glRectf (0.0f, 0.0f, width, -border);
@@ -327,7 +330,6 @@ glVertex2f (cos (rad) * border, sin (rad) * border);\
 glVertex2f (cos ((k - 1) * (M_PI / 180.0f)) * border, \
 	    sin ((k - 1) * (M_PI / 180.0f)) * border);\
 }
-	int k;
 
 	glTranslatef (border, border, 0.0f);
 	glBegin (GL_TRIANGLES);
@@ -374,9 +376,9 @@ glVertex2f (cos ((k - 1) * (M_PI / 180.0f)) * border, \
 /* Element Animation Management */
 
 static Bool
-elementsPropertiesForAnimation (CompDisplay *d,
+elementsPropertiesForAnimation (CompDisplay      *d,
 				ElementAnimation *anim,
-				char *name)
+				char             *name)
 {
     ELEMENTS_DISPLAY (d);
 
@@ -384,7 +386,7 @@ elementsPropertiesForAnimation (CompDisplay *d,
 
     for (info = ed->elementTypes; info; info = info->next)
     {
-	if (strcmp(info->name,name)==0)
+	if (!strcmp (info->name, name))
 	{
 	    anim->properties = info;
 	    return TRUE;
@@ -395,16 +397,19 @@ elementsPropertiesForAnimation (CompDisplay *d,
 }
 
 ElementAnimation *
-elementsCreateAnimation (CompScreen *s, char *name)
+elementsCreateAnimation (CompScreen *s,
+			 char       *name)
 {
-    ELEMENTS_SCREEN (s);
     ElementAnimation *anim;
 
+    ELEMENTS_SCREEN (s);
+
     if (!es->animations)
     {
 	es->animations = calloc (1, sizeof (ElementAnimation));
 	if (!es->animations)
 	    return NULL;
+
 	es->animations->next = NULL;
 	anim = es->animations;
     }
@@ -416,15 +421,16 @@ elementsCreateAnimation (CompScreen *s, char *name)
 	anim->next = calloc (1, sizeof (ElementAnimation));
 	if (!anim->next)
 	    return NULL;
+
 	anim->next->next = NULL;
 	anim = anim->next;
     }
 
     if (!elementsPropertiesForAnimation (s->display, anim, name))
     {
-	compLogMessage ("Elements",
-			CompLogLevelWarn, "Could not find element movement pattern %s\n"
-					   " disabling this element", name);
+	compLogMessage ("elements", CompLogLevelWarn,
+			"Could not find element movement pattern %s, "
+			"disabling this element", name);
 	free (anim);
 	return NULL;
     }
@@ -433,12 +439,13 @@ elementsCreateAnimation (CompScreen *s, char *name)
 }
 
 void
-elementsDeleteAnimation (CompScreen *s,
+elementsDeleteAnimation (CompScreen       *s,
 			 ElementAnimation *anim)
 {
-    ELEMENTS_SCREEN (s);
     ElementAnimation *run;
 
+    ELEMENTS_SCREEN (s);
+
     if (es->animations)
     {
 	if (anim == es->animations)
@@ -469,21 +476,23 @@ elementsDeleteAnimation (CompScreen *s,
 /* Type Info Management */
 
 static Bool
-elementsCreateNewElementType (CompDisplay *d,
-			      char *name,
-			      char *desc,
+elementsCreateNewElementType (CompDisplay         *d,
+			      char                *name,
+			      char                *desc,
 			      ElementInitiateProc initiate,
 			      ElementMoveProc     move,
 			      ElementFiniProc     fini)
 {
-    ELEMENTS_DISPLAY (d);
     ElementTypeInfo *info;
 
+    ELEMENTS_DISPLAY (d);
+
     if (!ed->elementTypes)
     {
 	ed->elementTypes = calloc (1, sizeof (ElementTypeInfo));
 	if (!ed->elementTypes)
 	    return FALSE;
+
 	ed->elementTypes->next = NULL;
 	info = ed->elementTypes;
     }
@@ -495,6 +504,7 @@ elementsCreateNewElementType (CompDisplay *d,
 	info->next = calloc (1, sizeof (ElementTypeInfo));
 	if (!info->next)
 	    return FALSE;
+
 	info->next->next = NULL;
 	info = info->next;
     }
@@ -510,36 +520,42 @@ elementsCreateNewElementType (CompDisplay *d,
 
 static void
 elementsRemoveElementType (CompScreen *s,
-			   char *name)
+			   char       *name)
 {
+    ElementAnimation *anim, *next;
+    ElementTypeInfo  *info;
+
     ELEMENTS_DISPLAY (s->display);
     ELEMENTS_SCREEN (s);
 
-    ElementAnimation *anim;
-    ElementAnimation *next;
     for (anim = es->animations; anim; anim = next)
     {
 	next = anim->next;
-	if (strcmp(anim->type, name)==0)
+
+	if (!strcmp (anim->type, name))
 	{
 	    int i;
+
 	    for (i = 0; i < anim->nTextures; i++)
 	    {
 	        finiTexture (s, &anim->texture[i].tex);
 		glDeleteLists (anim->texture[i].dList, 1);
 	    }
+
 	    for (i = 0; i < anim->nElement; i++)
+	    {
 	        if (anim->properties->fini)
 	            (*anim->properties->fini) (s, &anim->elements[i]);
+	    }
+
 	    free (anim->elements);
 	    free (anim->texture);
 	    elementsDeleteAnimation (s, anim);
 	}
     }
 
-    ElementTypeInfo *info;
     for (info = ed->elementTypes; info; info = info->next)
-	if (strcmp(info->name, name)==0)
+	if (!strcmp (info->name, name))
 	    break;
 
     if (info)
@@ -556,6 +572,7 @@ elementsRemoveElementType (CompScreen *s,
 	else
 	{
 	    ElementTypeInfo *run;
+
 	    for (run = ed->elementTypes; run; run = run->next)
 	    {
 		if (run == info)
@@ -574,12 +591,12 @@ elementsRemoveElementType (CompScreen *s,
 }
 
 static Bool
-textureToAnimation (CompScreen *s,
+textureToAnimation (CompScreen       *s,
 		    ElementAnimation *anim,
-		    CompListValue *paths,
-		    CompListValue *iters,
-		    int size,
-		    int iter)
+		    CompListValue    *paths,
+		    CompListValue    *iters,
+		    int              size,
+		    int              iter)
 {
     ElementTexture *aTex;
     CompMatrix	   *mat;
@@ -603,13 +620,15 @@ textureToAnimation (CompScreen *s,
 	    {
 		initTexture (s, &anim->texture[texIter].tex);
 		anim->texture[texIter].loaded =
-		readImageToTexture (s, &anim->texture[texIter].tex,
-				paths->value[i].s,
-				&anim->texture[texIter].width,
-				&anim->texture[texIter].height);
+		    readImageToTexture (s,
+					&anim->texture[texIter].tex,
+					paths->value[i].s,
+					&anim->texture[texIter].width,
+					&anim->texture[texIter].height);
+
 		if (!anim->texture[texIter].loaded)
 		{
-		    compLogMessage ("Elements", CompLogLevelWarn,
+		    compLogMessage ("elements", CompLogLevelWarn,
 				    "Texture for animation %s not found at"
 				    " location %s or invalid",
 				     anim->type, paths->value[i].s);
@@ -617,7 +636,7 @@ textureToAnimation (CompScreen *s,
 		}
 		else
 		{
-		    compLogMessage ("Elements", CompLogLevelInfo,
+		    compLogMessage ("elements", CompLogLevelInfo,
 				    "Loaded Texture %s for animation %s",
 				     paths->value[i].s, anim->type);
 		}
@@ -655,47 +674,53 @@ textureToAnimation (CompScreen *s,
 
 static Bool
 createElementAnimation (CompScreen *s,
-			int nElement,
-			char *type,
-			int size,
-			int speed,
-			int iter)
+			int        nElement,
+			char       *type,
+			int        size,
+			int        speed,
+			int        iter)
 {
     ElementAnimation *anim = elementsCreateAnimation (s, type);
-    if (anim)
+    CompListValue    *paths, *iters;
+
+    if (!anim)
+	return FALSE;
+
+    paths = elementsGetElementImage (s);
+    iters = elementsGetElementIter  (s);
+
+    anim->nElement  = nElement;
+    anim->size      = size;
+    anim->speed     = speed;
+    anim->id        = iter;
+    anim->type      = type;
+    anim->nTextures = 0;
+
+    if (textureToAnimation (s, anim, paths, iters, size, iter) &&
+	anim->nTextures)
     {
-	CompListValue *paths = elementsGetElementImage (s);
-	CompListValue *iters = elementsGetElementIter  (s);
-	anim->nElement = nElement;
-	anim->size = size;
-	anim->speed = speed;
-	anim->id = iter;
-	anim->type = type;
-	anim->nTextures = 0;
-	if (textureToAnimation (s, anim, paths, iters, size, iter)
-	    && anim->nTextures)
-	{
-	    Element *e;
-	    anim->elements = realloc (anim->elements,
-				      sizeof (Element) * nElement);
-	    e = anim->elements;
-	    while (nElement--)
-	    {
-		e->type = type;
-		initiateElement (s, anim, e);
-		e++;
-	    }
-	    anim->active = TRUE;
-	    return TRUE;
-	}
-	else
+	Element *e;
+
+	anim->elements = realloc (anim->elements,
+				  sizeof (Element) * nElement);
+	/* FIXME: NULL check? */
+
+	e = anim->elements;
+	while (nElement--)
 	{
-	    if (anim->texture)
-		free (anim->texture);
-	    elementsDeleteAnimation (s, anim);
-	    return FALSE;
+	    e->type = type;
+	    initiateElement (s, anim, e);
+	    e++;
 	}
+	anim->active = TRUE;
+
+	return TRUE;
     }
+
+    if (anim->texture)
+	free (anim->texture);
+    elementsDeleteAnimation (s, anim);
+
     return FALSE;
 }
 
@@ -705,20 +730,26 @@ static Bool
 elementsRemoveTimeout (void *closure)
 {
     CompScreen *s = (CompScreen *) closure;
-    int i;
+    int        i;
 
     ELEMENTS_SCREEN (s);
-    es->renderText = FALSE;
+
+    es->renderText    = FALSE;
     es->renderTexture = FALSE;
+
     elementsFreeTitle (s);
+
     for (i = 0; i < es->ntTextures; i++)
     {
 	finiTexture (s, &es->eTexture[i].tex);
 	glDeleteLists (es->eTexture[i].dList, 1);
     }
+
     free (es->eTexture);
     es->eTexture = NULL;
+
     damageScreen (s);
+
     if (es->switchTimeout)
 	compRemoveTimeout (es->switchTimeout);
 
@@ -731,46 +762,51 @@ elementsSwitchTextures (void *closure)
     CompScreen *s = (CompScreen *) closure;
 
     ELEMENTS_SCREEN (s);
+
     es->nTexture = ++es->nTexture % (es->ntTextures);
     damageScreen (s);
+
     return TRUE;
 }
 
 static void
-addDisplayTimeouts (CompScreen *s, Bool switchIt)
+addDisplayTimeouts (CompScreen *s,
+		    Bool       switchIt)
 {
+    int time = elementsGetTitleDisplayTime (s);
+
     ELEMENTS_SCREEN (s);
 
     if (es->renderTimeout)
 	compRemoveTimeout (es->renderTimeout);
-    es->renderTimeout = compAddTimeout (elementsGetTitleDisplayTime (s),
-					elementsGetTitleDisplayTime (s) * 2.0,
+
+    es->renderTimeout = compAddTimeout (time, time * 2.0,
 					elementsRemoveTimeout, s);
 
     if (switchIt)
     {
 	if (es->switchTimeout)
 	    compRemoveTimeout (es->switchTimeout);
-	es->switchTimeout =
-	compAddTimeout (elementsGetTitleDisplayTime (s) / es->ntTextures,
-		      (elementsGetTitleDisplayTime (s) / es->ntTextures * 2.0),
-			elementsSwitchTextures, s);
+
+	es->switchTimeout = compAddTimeout (time / es->ntTextures,
+					    time * 2 / es->ntTextures,
+					    elementsSwitchTextures, s);
     }
 }
 
 static Bool
-createTemporaryTexture (CompScreen *s,
+createTemporaryTexture (CompScreen    *s,
 		        CompListValue *paths,
 			CompListValue *iters,
-			int iter,
-		        int size)
+			int           iter,
+		        int           size)
 {
-    ELEMENTS_SCREEN (s);
-
     CompMatrix *mat;
     int        i;
     int	       texIter = 0;
 
+    ELEMENTS_SCREEN (s);
+
     es->ntTextures = 0;
     es->nTexture   = 0;
 
@@ -800,20 +836,23 @@ createTemporaryTexture (CompScreen *s,
 	{
 	    initTexture (s, &es->eTexture[texIter].tex);
 
-            es->eTexture[texIter].loaded =
		readImageToTexture (s, &es->eTexture[texIter].tex,
+            es->eTexture[texIter].loaded =
+		readImageToTexture (s,
+				    &es->eTexture[texIter].tex,
 				    paths->value[i].s,
 				    &es->eTexture[texIter].width,
 				    &es->eTexture[texIter].height);
+
 	    if (!es->eTexture[texIter].loaded)
 	    {
-		compLogMessage ("Elements", CompLogLevelWarn,
+		compLogMessage ("elements", CompLogLevelWarn,
 			        "Texture not found or invalid at %s",
 			         paths->value[i].s);
 		return FALSE;
 	    }
 	    else
 	    {
-		compLogMessage ("Elements", CompLogLevelInfo,
+		compLogMessage ("elements", CompLogLevelInfo,
 				"Loaded Texture %s", paths->value[i].s);
 	    }
 
@@ -858,19 +897,22 @@ elementsNextElement (CompDisplay     *d,
 		     int             nOption)
 {
     CompScreen *s;
-    CompListValue *cType, *cPath, *cIter;
-    char *string;
-    int i;
-    Bool foundHigher = FALSE;
-    ElementTypeInfo *info;
-    s = findScreenAtDisplay (d,
-			     getIntOptionNamed (option, nOption, "root", -1));
+    Window     xid;
 
-    ELEMENTS_DISPLAY (d);
+    xid = getIntOptionNamed (option, nOption, "root", 0);
+    s   = findScreenAtDisplay (d, xid);
 
     if (s)
     {
+	CompListValue   *cType, *cPath, *cIter;
+	char            *string;
+	int             i;
+	Bool            foundHigher = FALSE;
+	ElementTypeInfo *info;
+
+	ELEMENTS_DISPLAY (d);
 	ELEMENTS_SCREEN (s);
+
 	cType = elementsGetElementType (s);
 	cPath = elementsGetElementImage (s);
 	cIter = elementsGetElementIter (s);
@@ -880,7 +922,7 @@ elementsNextElement (CompDisplay     *d,
 	{
 	    compLogMessage ("elements", CompLogLevelWarn,
 			    "Options are not set correctly,"
-			    " cannot read this setting\n");
+			    " cannot read this setting.");
 	    return FALSE;
 	}
 
@@ -888,7 +930,7 @@ elementsNextElement (CompDisplay     *d,
 	{
 	    if (cIter->value[i].i > es->animIter)
 	    {
-		foundHigher = TRUE;
+		foundHigher  = TRUE;
 		es->listIter = i;
 		es->animIter = cIter->value[i].i;
 		break;
@@ -905,7 +947,7 @@ elementsNextElement (CompDisplay     *d,
 	{
 	    for (info = ed->elementTypes; info; info = info->next)
 	    {
-		if (strcmp (info->name, cType->value[es->listIter].s)==0)
+		if (!strcmp (info->name, cType->value[es->listIter].s))
 		{
 		    string = info->desc;
 		    break;
@@ -915,24 +957,23 @@ elementsNextElement (CompDisplay     *d,
 	    if (string)
 	    {
 		elementsRenderTitle (s, string);
-		es->renderText = TRUE;
+		es->renderText    = TRUE;
 		es->renderTexture =
-		createTemporaryTexture (s, cPath, cIter, es->animIter,
-				        es->textHeight);
-		addDisplayTimeouts (s, es->ntTextures > 1 ? TRUE : FALSE);
+		    createTemporaryTexture (s, cPath, cIter,
+					    es->animIter, es->textHeight);
+		addDisplayTimeouts (s, es->ntTextures > 1);
 		damageScreen (s);
-		
 	    }
 	}
 	else if (ed->textAvailable)
 	{
 	    elementsRenderTitle (s, "No elements have been defined");
 	    es->renderText = TRUE;
-	    addDisplayTimeouts (s, es->ntTextures > 1 ? TRUE : FALSE);
+	    addDisplayTimeouts (s, es->ntTextures > 1);
 	}
     }
 
-    return TRUE;
+    return FALSE;
 }
 
 static Bool
@@ -942,20 +983,23 @@ elementsPrevElement (CompDisplay     *d,
 	 	     CompOption      *option,
 		     int             nOption)
 {
-    CompScreen *s;
-    CompListValue *cType, *cPath, *cIter;
-    char *string;
-    int  i;
-    Bool foundLower = FALSE;
-    ElementTypeInfo *info;
-    s = findScreenAtDisplay (d,
-			     getIntOptionNamed (option, nOption, "root", -1));
+    CompScreen      *s;
+    Window          xid;
 
-    ELEMENTS_DISPLAY (d);
+    xid = getIntOptionNamed (option, nOption, "root", 0);
+    s   = findScreenAtDisplay (d, xid);
 
     if (s)
     {
+	CompListValue   *cType, *cPath, *cIter;
+	char            *string;
+	int             i;
+	Bool            foundLower = FALSE;
+	ElementTypeInfo *info;
+
+	ELEMENTS_DISPLAY (d);
 	ELEMENTS_SCREEN (s);
+
 	cType = elementsGetElementType (s);
 	cPath = elementsGetElementImage (s);
 	cIter = elementsGetElementIter (s);
@@ -965,7 +1009,7 @@ elementsPrevElement (CompDisplay     *d,
 	{
 	    compLogMessage ("elements", CompLogLevelWarn,
 			    "Options are not set correctly,"
-			    " cannot read this settings\n");
+			    " cannot read this setting.");
 	    return FALSE;
 	}
 
@@ -973,7 +1017,7 @@ elementsPrevElement (CompDisplay     *d,
 	{
 	    if (cIter->value[i].i < es->animIter)
 	    {
-		foundLower = TRUE;
+		foundLower   = TRUE;
 		es->listIter = i;
 		es->animIter = cIter->value[i].i;
 		break;
@@ -983,6 +1027,7 @@ elementsPrevElement (CompDisplay     *d,
 	if (!foundLower)
 	{
 	    int highest = 0;
+
 	    for (i = 0; i < cIter->nValue; i++)
 		if (cIter->value[i].i > highest)
 		    highest = cIter->value[i].i;
@@ -999,7 +1044,7 @@ elementsPrevElement (CompDisplay     *d,
 	{
 	    for (info = ed->elementTypes; info; info = info->next)
 	    {
-		if (strcmp (info->name, cType->value[es->listIter].s)==0)
+		if (!strcmp (info->name, cType->value[es->listIter].s))
 		{
 		    string = info->desc;
 		    break;
@@ -1009,11 +1054,11 @@ elementsPrevElement (CompDisplay     *d,
 	    if (string)
 	    {
 		elementsRenderTitle (s, string);
-		es->renderText = TRUE;
+		es->renderText    = TRUE;
 		es->renderTexture =
-		createTemporaryTexture (s, cPath, cIter, es->animIter,
-				        es->textHeight);
-		addDisplayTimeouts (s, es->ntTextures > 1 ? TRUE : FALSE);
+		    createTemporaryTexture (s, cPath, cIter,
+					    es->animIter, es->textHeight);
+		addDisplayTimeouts (s, es->ntTextures > 1);
 		damageScreen (s);
 		
 	    }
@@ -1022,12 +1067,12 @@ elementsPrevElement (CompDisplay     *d,
 	{
 	    elementsRenderTitle (s, "No elements have been defined");
 	    es->renderText = TRUE;
-	    addDisplayTimeouts (s, es->ntTextures > 1 ? TRUE : FALSE);
+	    addDisplayTimeouts (s, es->ntTextures > 1);
 	}
 
     }
 
-    return TRUE;
+    return FALSE;
 }
 
 static Bool
@@ -1038,22 +1083,25 @@ elementsToggleSelected (CompDisplay     *d,
 		        int             nOption)
 {
     CompScreen *s;
-    char *string;
-    Bool success = TRUE;
-    ElementTypeInfo *info;
-    s = findScreenAtDisplay (d,
-			     getIntOptionNamed (option, nOption, "root", -1));
-    
-    ELEMENTS_DISPLAY (d);
+    Window     xid;
+
+    xid = getIntOptionNamed (option, nOption, "root", 0);
+    s   = findScreenAtDisplay (d, xid);
 
     if (s)
     {
-	CompListValue *cIter =  elementsGetElementIter  (s);
-	CompListValue *cType  = elementsGetElementType  (s);
-	CompListValue *cPath  = elementsGetElementImage (s);
-	CompListValue *cCap   = elementsGetElementCap   (s);
-	CompListValue *cSize  = elementsGetElementSize  (s);
-	CompListValue *cSpeed = elementsGetElementSpeed   (s);
+	char             *string;
+	Bool             success = TRUE;
+	ElementTypeInfo  *info;
+	CompListValue    *cIter  = elementsGetElementIter  (s);
+	CompListValue    *cType  = elementsGetElementType  (s);
+	CompListValue    *cPath  = elementsGetElementImage (s);
+	CompListValue    *cCap   = elementsGetElementCap   (s);
+	CompListValue    *cSize  = elementsGetElementSize  (s);
+	CompListValue    *cSpeed = elementsGetElementSpeed (s);
+	ElementAnimation *anim;
+
+	ELEMENTS_DISPLAY (d);
 	ELEMENTS_SCREEN (s);
 
 	if (!((cType->nValue  == cIter->nValue) &&
@@ -1064,7 +1112,7 @@ elementsToggleSelected (CompDisplay     *d,
 	{
 	    compLogMessage ("elements", CompLogLevelWarn,
 			    "Options are not set correctly,"
-			    " cannot read this settings\n");
+			    " cannot read this setting.");
 	    return FALSE;
 	}
 
@@ -1074,11 +1122,10 @@ elementsToggleSelected (CompDisplay     *d,
 	    {
 		elementsRenderTitle (s, "No elements have been defined\n");
 		es->renderText = TRUE;
-		addDisplayTimeouts (s, es->ntTextures > 1 ? TRUE : FALSE);
+		addDisplayTimeouts (s, es->ntTextures > 1);
 	    }
 	}
 
-	ElementAnimation *anim;
 	for (anim = es->animations; anim; anim = anim->next)
 	{
 	    if (anim->id == es->animIter)
@@ -1090,20 +1137,19 @@ elementsToggleSelected (CompDisplay     *d,
 
 	if (!anim)
 	{
-	    success = 
-	    createElementAnimation (s,
-				    cCap->value[es->listIter].i,
-				    cType->value[es->listIter].s,
-				    cSize->value[es->listIter].i,
-				    cSpeed->value[es->listIter].i,
-				    es->animIter);
+	    success = createElementAnimation (s,
+					      cCap->value[es->listIter].i,
+					      cType->value[es->listIter].s,
+					      cSize->value[es->listIter].i,
+					      cSpeed->value[es->listIter].i,
+					      es->animIter);
 	}
 	
 	if (ed->textAvailable && elementsGetTitleOnToggle (s) && success)
 	{
 	    for (info = ed->elementTypes; info; info = info->next)
 	    {
-		if (strcmp (info->name, cType->value[es->listIter].s)==0)
+		if (!strcmp (info->name, cType->value[es->listIter].s))
 		{
 		    string = info->desc;
 		    break;
@@ -1113,11 +1159,11 @@ elementsToggleSelected (CompDisplay     *d,
 	    if (string)
 	    {
 		elementsRenderTitle (s, string);
-		es->renderText = TRUE;
+		es->renderText    = TRUE;
 		es->renderTexture =
-		createTemporaryTexture (s, cPath, cIter, es->animIter,
-				        es->textHeight);
-		addDisplayTimeouts (s, es->ntTextures > 1 ? TRUE : FALSE);
+		    createTemporaryTexture (s, cPath, cIter,
+					    es->animIter, es->textHeight);
+		addDisplayTimeouts (s, es->ntTextures > 1);
 		damageScreen (s);
 		
 	    }
@@ -1127,20 +1173,20 @@ elementsToggleSelected (CompDisplay     *d,
 	    elementsRenderTitle (s, "Error - Element image was not found"
 				    " or is invalid");
 	    es->renderText = TRUE;
-	    addDisplayTimeouts (s, es->ntTextures > 1 ? TRUE : FALSE);
+	    addDisplayTimeouts (s, es->ntTextures > 1);
 	    damageScreen (s);
 	}
 	
     }
 
-    return TRUE;
+    return FALSE;
 }
 
 static void
 setupDisplayList (CompScreen *s)
 {
     ELEMENTS_SCREEN (s);
-    
+
     es->displayList = glGenLists (1);
     glNewList (es->displayList, GL_COMPILE);
     glBegin (GL_QUADS);
@@ -1159,7 +1205,10 @@ setupDisplayList (CompScreen *s)
 static void
 beginRendering (CompScreen *s)
 {
+    ElementAnimation *anim;
+
     ELEMENTS_SCREEN (s);
+
     glEnable (GL_BLEND);
     glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
 
@@ -1169,29 +1218,33 @@ beginRendering (CompScreen *s)
 	es->needUpdate = FALSE;
     }
 
-    ElementAnimation *anim;
-
     for (anim = es->animations; anim; anim = anim->next)
     {
 	int    num = anim->nElement;
 	int    i;
+
 	if (anim->nTextures > 0)
-	for (i = 0; i < num; i++)
 	{
-	    Element *e = &anim->elements[i];
-	    int nTexture = e->nTexture % anim->nTextures;
-	    enableTexture (s, &anim->texture[nTexture].tex,
-			   COMP_TEXTURE_FILTER_GOOD);
-    	    glColor4f (1.0, 1.0, 1.0, e->opacity);
-	    glTranslatef (e->x, e->y, e->z);
-	    glRotatef (e->rAngle, 0, 0, 1);
-	    glCallList (anim->texture[nTexture].dList);
-	    glRotatef (-e->rAngle, 0, 0, 1);
-	    glTranslatef (-e->x, -e->y, -e->z);
-	    disableTexture (s, &anim->texture[nTexture].tex);
+	    for (i = 0; i < num; i++)
+	    {
+		Element *e = &anim->elements[i];
+		int     nTexture = e->nTexture % anim->nTextures;
+
+		enableTexture (s, &anim->texture[nTexture].tex,
+			       COMP_TEXTURE_FILTER_GOOD);
+
+		glColor4f (1.0, 1.0, 1.0, e->opacity);
+		glTranslatef (e->x, e->y, e->z);
+		glRotatef (e->rAngle, 0, 0, 1);
+		glCallList (anim->texture[nTexture].dList);
+		glRotatef (-e->rAngle, 0, 0, 1);
+		glTranslatef (-e->x, -e->y, -e->z);
+
+		disableTexture (s, &anim->texture[nTexture].tex);
+	    }
 	}
     }
-	    
+
     glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
     glDisable (GL_BLEND);
     glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
@@ -1201,42 +1254,35 @@ beginRendering (CompScreen *s)
 static Bool
 elementsPaintOutput (CompScreen              *s,
 		     const ScreenPaintAttrib *sa,
-		     const CompTransform	 *transform,
+		     const CompTransform     *transform,
 		     Region                  region,
-		     CompOutput              *output, 
+		     CompOutput              *output,
 		     unsigned int            mask)
 {
     Bool status;
 
     ELEMENTS_SCREEN (s);
-    Bool active = FALSE;
-    if (es->animations)
-	active = TRUE;
 
-    if (active && elementsGetOverWindows (s))
+    if (es->animations && elementsGetOverWindows (s))
 	mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK;
 
     UNWRAP (es, s, paintOutput);
     status = (*s->paintOutput) (s, sa, transform, region, output, mask);
     WRAP (es, s, paintOutput, elementsPaintOutput);
 
-    if (active && elementsGetOverWindows (s))
+    if (es->renderText || (es->animations && elementsGetOverWindows (s)))
     {
 	CompTransform sTransform = *transform;
-	transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform);
-	glPushMatrix ();
-	glLoadMatrixf (sTransform.m);
-	beginRendering (s);
-	glPopMatrix ();
-    }
 
-    if (es->renderText)
-    {
-	CompTransform sTransform = *transform;
 	transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform);
 	glPushMatrix ();
 	glLoadMatrixf (sTransform.m);
-	elementsDrawTitle (s);
+
+	if (es->animations && elementsGetOverWindows (s))
+	    beginRendering (s);
+	if (es->renderText)
+	    elementsDrawTitle (s);
+
 	glPopMatrix ();
     }
 
@@ -1251,48 +1297,48 @@ elementsDrawWindow (CompWindow           *w,
 		    Region               region,
 		    unsigned int         mask)
 {
-    Bool status;
+    Bool       status;
+    CompScreen *s = w->screen;
 
-    ELEMENTS_SCREEN (w->screen);
-    Bool active = FALSE;
-    if (es->animations)
-	active = TRUE;
-    UNWRAP (es, w->screen, drawWindow);
-    status = (*w->screen->drawWindow) (w, transform, attrib, region, mask);
-    WRAP (es, w->screen, drawWindow, elementsDrawWindow);
+    ELEMENTS_SCREEN (s);
+
+    UNWRAP (es, s, drawWindow);
+    status = (*s->drawWindow) (w, transform, attrib, region, mask);
+    WRAP (es, s, drawWindow, elementsDrawWindow);
 
-    if (active && (w->type & CompWindowTypeDesktopMask) && 
-	!elementsGetOverWindows (w->screen))
+    if (es->animations && (w->type & CompWindowTypeDesktopMask) &&
+	!elementsGetOverWindows (s))
     {
-	beginRendering (w->screen);
+	beginRendering (s);
     }
     return status;
 }
 
 void
-initiateElement (CompScreen *s,
+initiateElement (CompScreen       *s,
 		 ElementAnimation *anim,
-		 Element  *e)
+		 Element          *e)
 {
-    e->z  = elementsMmRand (-elementsGetScreenDepth (s), 0.1, 5000);
     e->x  = 0;
     e->y  = 0;
+    e->z  = elementsMmRand (-elementsGetScreenDepth (s), 0.1, 5000);
     e->dz = elementsMmRand (-500, 500, 500000);
     e->rAngle = elementsMmRand (-1000, 1000, 50);
     e->rSpeed = elementsMmRand (-2100, 2100, 700);
-    e->opacity = 1.0f;
+
+    e->opacity  = 1.0f;
     e->nTexture = 0;
-    e->ptr = NULL;
+    e->ptr      = NULL;
 
     if (anim->properties->initiate)
 	(*anim->properties->initiate) (s, e);
 }
 
 void
-elementMove (CompScreen *s,
-	     Element *e,
+elementMove (CompScreen       *s,
+	     Element          *e,
 	     ElementAnimation *anim,
-	     int updateDelay)
+	     int              updateDelay)
 {
     if (anim->properties->move)
 	(*anim->properties->move) (s, anim, e, updateDelay);
@@ -1300,75 +1346,73 @@ elementMove (CompScreen *s,
 }
 
 static Bool
-stepPositions(void *closure)
+stepPositions (void *closure)
 {
-    CompScreen *s = closure;
-    Bool onTopOfWindows = elementsGetOverWindows (s);
-    ELEMENTS_SCREEN(s);
+    CompScreen       *s = (CompScreen *) closure;
+    ElementAnimation *anim;
 
-    Bool active = FALSE;
-    if (es->animations)
-	active = TRUE;
+    ELEMENTS_SCREEN (s);
 
-    if (!active)
+    if (!es->animations)
 	return TRUE;
 
-    ElementAnimation *anim;
-    if (es->animations)
+    for (anim = es->animations; anim; anim = anim->next)
     {
-	for (anim = es->animations; anim; anim = anim->next)
+	int i;
+
+	if (anim->active)
 	{
-	    int i;
-	    if (anim->active)
-	    {
-		for (i = 0; i < anim->nElement; i++)
-		    elementTestCreate (s, &anim->elements[i], anim);
-	    }
-	    else
+	    for (i = 0; i < anim->nElement; i++)
+		elementTestCreate (s, &anim->elements[i], anim);
+	}
+	else
+	{
+	    if (elementTestOffscreen (s, anim))
 	    {
-		if (elementTestOffscreen (s, anim))
+		for (i = 0; i < anim->nTextures; i++)
 		{
-		    int i;
-		    for (i = 0; i < anim->nTextures; i++)
-		    {
-		        finiTexture (s, &anim->texture[i].tex);
-			glDeleteLists (anim->texture[i].dList, 1);
-		    }
-		    free (anim->elements);
-		    free (anim->texture);
-		    elementsDeleteAnimation (s, anim);
-		    break;
+		    finiTexture (s, &anim->texture[i].tex);
+		    glDeleteLists (anim->texture[i].dList, 1);
 		}
+
+		free (anim->elements);
+		free (anim->texture);
+		elementsDeleteAnimation (s, anim);
+		break;
 	    }
 	}
-	if (active && !onTopOfWindows )
-	{
-	    CompWindow *w;
-	    for (w = s->windows; w; w = w->next)
-	    {
-		if (w->type & CompWindowTypeDesktopMask)
-		   addWindowDamage (w);
-	    }
-    	}
-	else if (active)
+    }
+
+    if (!elementsGetOverWindows (s))
+    {
+	CompWindow *w;
+
+	for (w = s->windows; w; w = w->next)
 	{
-	    damageScreen (s);
+	    if (w->type & CompWindowTypeDesktopMask)
+		addWindowDamage (w);
 	}
     }
+    else
+    {
+	damageScreen (s);
+    }
 
     return TRUE;
 }
 
 void
 updateElementTextures (CompScreen *s,
-		       Bool changeTextures)
+		       Bool       changeTextures)
 {
+    ElementAnimation *anim;
+
     ELEMENTS_SCREEN (s);
 
-    ElementAnimation *anim;
     for (anim = es->animations; anim; anim = anim->next)
     {
-	int i;
+	int           i, iter, nElement, size,speed;
+	char          *type;
 	CompListValue *cType  = elementsGetElementType  (s);
 	CompListValue *cPath  = elementsGetElementImage (s);
 	CompListValue *cCap   = elementsGetElementCap   (s);
@@ -1384,15 +1428,16 @@ updateElementTextures (CompScreen *s,
 	{
 	    compLogMessage ("elements", CompLogLevelWarn,
 			    "Options are not set correctly,"
-			    " cannot read this settings\n");
+			    " cannot read this setting.");
 	    return;
 	}
 
-	int iter = anim->id;
-	int nElement = cCap->value[anim->id].i;
-	char * type = cType->value[anim->id].s;
-	int size = cSize->value[anim->id].i;
-	int speed = cSpeed->value[anim->id].i;
+	iter     = anim->id;
+	nElement = cCap->value[anim->id].i;
+	type     = cType->value[anim->id].s;
+	size     = cSize->value[anim->id].i;
+	speed    = cSpeed->value[anim->id].i;
+
 	for (i = 0; i < anim->nTextures; i++)
 	{
 	    finiTexture (s, &anim->texture[i].tex);
@@ -1402,18 +1447,23 @@ updateElementTextures (CompScreen *s,
 	if (textureToAnimation (s, anim, cPath, cIter, size, iter))
 	{
 	    Element *e;
-	    Bool initiate = FALSE;
+	    Bool    initiate = FALSE;
+
 	    anim->type = type;
+
 	    if (nElement != anim->nElement)
 	    {
 		anim->nElement = nElement;
 		anim->elements = realloc (anim->elements,
 					  sizeof (Element) * nElement);
+		/* FIXME: NULL check? */
 		initiate = TRUE;
 	    }
-	    if (strcmp (type, anim->type)!=0)
+
+	    if (strcmp (type, anim->type))
 	    {
 		int i;
+
 		anim->type = type;
 		for (i = 0; i < anim->nElement; i++)
 		{
@@ -1422,16 +1472,17 @@ updateElementTextures (CompScreen *s,
 		}
 		initiate = TRUE;
 	    }
-	    anim->size = size;
+
+	    anim->size  = size;
 	    anim->speed = speed;
 	    e = anim->elements;
+
 	    while (nElement--)
 	    {
 		e->type = type;
 		if (initiate)
-		{
 		    initiateElement (s, anim, e);
-		}
+
 		e++;
 	    }
 	}
@@ -1449,9 +1500,9 @@ static ElementsBaseFunctions elementsFunctions =
 };
 
 static void
-elementsScreenOptionChanged (CompScreen        *s,
-			      CompOption         *opt,
-			      ElementsScreenOptions num)
+elementsScreenOptionChanged (CompScreen            *s,
+			     CompOption            *opt,
+			     ElementsScreenOptions num)
 {
     switch (num)
     {
@@ -1464,6 +1515,7 @@ elementsScreenOptionChanged (CompScreen        *s,
 	{
 
 	    ELEMENTS_SCREEN (s);
+
 	    es->needUpdate = TRUE;
 	    updateElementTextures (s, FALSE);
 
@@ -1472,13 +1524,13 @@ elementsScreenOptionChanged (CompScreen        *s,
     	case ElementsScreenOptionUpdateDelay:
 	{
 	    ELEMENTS_SCREEN (s);
-			
+
 	    if (es->timeoutHandle)
 		compRemoveTimeout (es->timeoutHandle);
 	    es->timeoutHandle =
-	    compAddTimeout (elementsGetUpdateDelay (s),
-			    (float) elementsGetUpdateDelay (s) * 1.2,
-			    stepPositions, s);
+		compAddTimeout (elementsGetUpdateDelay (s),
+				(float) elementsGetUpdateDelay (s) * 1.2,
+				stepPositions, s);
 	}
 	break;
 	default:
@@ -1491,22 +1543,26 @@ elementsInitScreen (CompPlugin *p,
 		    CompScreen *s)
 {
     ElementsScreen *es;
+    int            delay;
+
     ELEMENTS_DISPLAY (s->display);
 
-    es = calloc (1, sizeof(ElementsScreen));
-    s->base.privates[ed->privateIndex].ptr = es;
-    es->needUpdate = FALSE;
-    es->listIter = 0;
-    es->animIter = 1;
-    es->animations = NULL;
-    es->textPixmap = None;
-    es->textWidth = 0;
-    es->textHeight = 0;
-    es->renderText = FALSE;
+    es = calloc (1, sizeof (ElementsScreen));
+    if (!es)
+	return FALSE;
+
+    es->needUpdate    = FALSE;
+    es->listIter      = 0;
+    es->animIter      = 1;
+    es->animations    = NULL;
+    es->textPixmap    = None;
+    es->textWidth     = 0;
+    es->textHeight    = 0;
+    es->renderText    = FALSE;
     es->renderTexture = FALSE;
     es->renderTimeout = 0;
     es->switchTimeout = 0;
-    es->eTexture = NULL;
+    es->eTexture      = NULL;
 
     elementsSetElementTypeNotify (s, elementsScreenOptionChanged);
     elementsSetElementImageNotify (s, elementsScreenOptionChanged);
@@ -1520,10 +1576,15 @@ elementsInitScreen (CompPlugin *p,
 
     updateElementTextures (s, TRUE);
     setupDisplayList (s);
-    WRAP (es, s, paintOutput, elementsPaintOutput);
    WRAP (es, s, drawWindow, elementsDrawWindow);
-    es->timeoutHandle = compAddTimeout (elementsGetUpdateDelay (s),
-			(float) elementsGetUpdateDelay (s) * 1.2,
-			stepPositions, s);
+
+    delay             = elementsGetUpdateDelay (s);
+    es->timeoutHandle = compAddTimeout (delay, (float) delay * 1.2,
+					stepPositions, s);
+
+    WRAP (es, s, paintOutput, elementsPaintOutput);
+    WRAP (es, s, drawWindow, elementsDrawWindow);
+
+    s->base.privates[ed->privateIndex].ptr = es;
 
     return TRUE;
 }
@@ -1550,15 +1611,18 @@ elementsFiniScreen (CompPlugin *p,
     	    finiTexture (s, &es->eTexture[i].tex);
 	    glDeleteLists (es->eTexture[i].dList, 1);
 	}
-    	free(es->eTexture);
+    	free (es->eTexture);
     }
 
     elementsRemoveElementType (s, "autumn");
     elementsRemoveElementType (s, "fireflies");
     elementsRemoveElementType (s, "snow");
     elementsRemoveElementType (s, "stars");
-    elementsRemoveElementType (s, "bubbles");

    UNWRAP (es, s, paintOutput);
+    elementsRemoveElementType (s, "bubbles");
+
+    UNWRAP (es, s, paintOutput);
     UNWRAP (es, s, drawWindow);
+
     free (es);
 }
 
@@ -1568,10 +1632,13 @@ elementsInitDisplay (CompPlugin  *p,
 {
     ElementsDisplay *ed;
     CompOption      *abi, *index;
+
     if (!checkPluginABI ("core", CORE_ABIVERSION))
-	return FALSE;    
+	return FALSE;
 
     ed = malloc (sizeof (ElementsDisplay));
+    if (!ed)
+	return FALSE;
 
     ed->privateIndex = allocateScreenPrivateIndex (d);
     if (ed->privateIndex < 0)
@@ -1587,39 +1654,43 @@ elementsInitDisplay (CompPlugin  *p,
 
     ed->elementTypes = NULL;
 
-    abi = elementsGetAbiOption (d);
+    abi   = elementsGetAbiOption (d);
     index = elementsGetIndexOption (d);
 
-    abi->value.i = ELEMENTS_ABIVERSION;
+    abi->value.i   = ELEMENTS_ABIVERSION;
     index->value.i = functionsPrivateIndex;
 
     elementsSetNextElementKeyInitiate (d, elementsNextElement);
     elementsSetPrevElementKeyInitiate (d, elementsPrevElement);
     elementsSetToggleSelectedKeyInitiate (d, elementsToggleSelected);
 
-    d->base.privates[displayPrivateIndex].ptr = ed;
+    d->base.privates[displayPrivateIndex].ptr   = ed;
     d->base.privates[functionsPrivateIndex].ptr = &elementsFunctions;
 
     elementsCreateNewElementType (d, "autumn", "Autumn",
-				   initiateAutumnElement,
-				   autumnMove,
-				   autumnFini);
+				  initiateAutumnElement,
+				  autumnMove,
+				  autumnFini);
+
     elementsCreateNewElementType (d, "fireflies", "Fireflies",
-				   initiateFireflyElement,
-				   fireflyMove,
-				   fireflyFini);
-    elementsCreateNewElementType (d, "snow",   "Snow",
-				   initiateSnowElement,
-				   snowMove,
-				   snowFini);
+				  initiateFireflyElement,
+				  fireflyMove,
+				  fireflyFini);
+
+    elementsCreateNewElementType (d, "snow", "Snow",
+				  initiateSnowElement,
+				  snowMove,
+				  snowFini);
+
     elementsCreateNewElementType (d, "stars",  "Stars",
-				   initiateStarElement,
-				   starMove,
-				   starFini);
+				  initiateStarElement,
+				  starMove,
+				  starFini);
+
     elementsCreateNewElementType (d, "bubbles", "Bubbles",
-				   initiateBubbleElement,
-				   bubbleMove,
-				   bubbleFini);
+				  initiateBubbleElement,
+				  bubbleMove,
+				  bubbleFini);
 
     return TRUE;
 }
@@ -1659,12 +1730,12 @@ elementsFini (CompPlugin *p)
     freeDisplayPrivateIndex (functionsPrivateIndex);
 }
 
-
-static CompBool elementsInitObject(CompPlugin *p,
-				   CompObject *o)
+static CompBool
+elementsInitObject(CompPlugin *p,
+		   CompObject *o)
 {
     static InitPluginObjectProc dispTab[] = {
-	(InitPluginObjectProc) 0, // InitCore
+	(InitPluginObjectProc) 0, /* InitCore */
 	(InitPluginObjectProc) elementsInitDisplay,
 	(InitPluginObjectProc) elementsInitScreen
      };
@@ -1672,11 +1743,12 @@ static CompBool elementsInitObject(CompPlugin *p,
     RETURN_DISPATCH(o, dispTab, ARRAY_SIZE(dispTab), TRUE, (p, o));
 }
 
-static void elementsFiniObject(CompPlugin *p,
-			       CompObject *o)
+static void
+elementsFiniObject(CompPlugin *p,
+		   CompObject *o)
 {
     static FiniPluginObjectProc dispTab[] = {
-	(FiniPluginObjectProc) 0, // FiniCore
+	(FiniPluginObjectProc) 0, /* FiniCore */
 	(FiniPluginObjectProc) elementsFiniDisplay,
 	(FiniPluginObjectProc) elementsFiniScreen
     };
@@ -1695,7 +1767,7 @@ CompPluginVTable elementsVTable = {
     0
 };
 
-CompPluginVTable*
+CompPluginVTable *
 getCompPluginInfo (void)
 {
     return &elementsVTable;
diff --git a/fireflies.c b/fireflies.c
index c91efa7..c3c8907 100644
--- a/fireflies.c
+++ b/fireflies.c
@@ -1,33 +1,41 @@
+#include <math.h>
 #include "elements-internal.h"
 
 /* FIREFLIES SPECIFIC FUNCTIONS */
 
-static float glowCurve[GLOW_STAGES][4] = { 
-					  { 0.0, 0.5, 0.5, 1.0 },
-					  { 1.0, 1.0, 0.5, 0.75 },
-					  { 0.75, 0.3, 1.2, 1.0 },
-					  { 1.0, 0.7, 1.5, 1.0 },
-					  { 1.0, 0.5, 0.5, 0.0 } };
+static float
+glowCurve[GLOW_STAGES][4] = {
+    { 0.0, 0.5, 0.5, 1.0 },
+    { 1.0, 1.0, 0.5, 0.75 },
+    { 0.75, 0.3, 1.2, 1.0 },
+    { 1.0, 0.7, 1.5, 1.0 },
+    { 1.0, 0.5, 0.5, 0.0 }
+};
 
-static float fireflyBezierCurve (float p[4], float time)
+static float
+fireflyBezierCurve (float p[4],
+		    float time)
 {
     float out;
     float a = p[0];
     float b = p[0] + p[1];
     float c = p[3] + p[2];
     float d = p[3];
-    float e = 1.0 - time; 
-    out = (a*(e*e*e)) + (3.0*b*(e*e)*time)
-	   + (3.0*c*e*(time*time)) + (d*(time*time*time));
+    float e = 1.0 - time;
+
+    out = (a * pow (e, 3)) + (3.0 * b * pow (e, 2) * time) +
+	  (3.0 * c * e * pow (time, 2)) + (d * pow (time, 3));
+
     return out;
 }
 
 void
 initiateFireflyElement (CompScreen *s,
-		        Element *e)
+		        Element    *e)
 {
-    int i;
+    int            i;
     FireflyElement *fe;
+
     if (!e->ptr)
 	e->ptr = calloc (1, sizeof (FireflyElement));
 
@@ -35,40 +43,47 @@ initiateFireflyElement (CompScreen *s,
 	return;
 
     fe = (FireflyElement *) e->ptr;
-    e->x = elementsMmRand(0, s->width, 1);
-    e->y = elementsMmRand(0, s->height, 1);
-    fe->lifespan = elementsMmRand(50,1000, 100);
-    fe->age = 0.0;
-    for (i = 0; i < 4; i++) 
+
+    e->x = elementsMmRand (0, s->width, 1);
+    e->y = elementsMmRand (0, s->height, 1);
+
+    fe->lifespan = elementsMmRand (50,1000, 100);
+    fe->age      = 0.0;
+
+    for (i = 0; i < 4; i++)
     {
-	fe->dx[i] = elementsMmRand(-3000, 3000, 200);
-	fe->dy[i] = elementsMmRand(-2000, 2000, 200);
-	fe->dz[i] = elementsMmRand(-1000, 1000, 500000);
+	fe->dx[i] = elementsMmRand (-3000, 3000, 200);
+	fe->dy[i] = elementsMmRand (-2000, 2000, 200);
+	fe->dz[i] = elementsMmRand (-1000, 1000, 500000);
     }
 }
 
 void
-fireflyMove (CompScreen *s,
+fireflyMove (CompScreen       *s,
 	     ElementAnimation *anim,
-	     Element *e,
-	     int     updateDelay)
+	     Element          *e,
+	     int              updateDelay)
 {
-    float ffSpeed = anim->speed / 700.0f;
+    float          ffSpeed = anim->speed / 700.0f;
     FireflyElement *fe = (FireflyElement *) e->ptr;
+    int            glowStage;
+    float          xs, ys, zs;
 
-    if (!e->ptr)
+    if (!fe)
     	return;
 
-    fe->age += 0.01;
+    fe->age       += 0.01;
     fe->lifecycle = (fe->age / 10) / fe->lifespan * (ffSpeed * 70);
-    int glowStage = (fe->lifecycle * GLOW_STAGES);
-    e->glowAlpha = fireflyBezierCurve(glowCurve[glowStage], fe->lifecycle);
-    float xs = fireflyBezierCurve(fe->dx, fe->lifecycle); 
-    float ys = fireflyBezierCurve(fe->dy, fe->lifecycle); 
-    float zs = fireflyBezierCurve(fe->dz, fe->lifecycle); 
-    e->x += (float)(xs * (double)updateDelay) * ffSpeed;
-    e->y += (float)(ys * (double)updateDelay) * ffSpeed;
-    e->z += (float)(zs * (double)updateDelay) * ffSpeed;
+    glowStage     = fe->lifecycle * GLOW_STAGES;
+    e->glowAlpha  = fireflyBezierCurve (glowCurve[glowStage], fe->lifecycle);
+
+    xs = fireflyBezierCurve (fe->dx, fe->lifecycle);
+    ys = fireflyBezierCurve (fe->dy, fe->lifecycle);
+    zs = fireflyBezierCurve (fe->dz, fe->lifecycle);
+
+    e->x += xs * updateDelay * ffSpeed;
+    e->y += ys * updateDelay * ffSpeed;
+    e->z += zs * updateDelay * ffSpeed;
 
 }
 
diff --git a/snow.c b/snow.c
index 9689817..78f8954 100644
--- a/snow.c
+++ b/snow.c
@@ -4,9 +4,10 @@
 
 void
 initiateSnowElement (CompScreen *s,
-		     Element *e)
+		     Element    *e)
 {
     int snowSway = elementsGetSnowSway (s);
+
     switch (elementsGetWindDirection (s))
     {
 	case WindDirectionNone:
@@ -39,12 +40,13 @@ initiateSnowElement (CompScreen *s,
 }
 
 void
-snowMove   (CompScreen *s,
-	    ElementAnimation *anim,
-	    Element *e,
-	    int     updateDelay)
+snowMove (CompScreen       *s,
+	  ElementAnimation *anim,
+	  Element          *e,
+	  int              updateDelay)
 {
     float snowSpeed = anim->speed / 500.0f;
+
     e->x += (e->dx * (float) updateDelay) * snowSpeed;
     e->y += (e->dy * (float) updateDelay) * snowSpeed;
     e->z += (e->dz * (float) updateDelay) * snowSpeed;
diff --git a/stars.c b/stars.c
index 9cdbf1b..24135aa 100644
--- a/stars.c
+++ b/stars.c
@@ -2,43 +2,52 @@
 
 /* STARS SPECIFIC FUNCTIONS */
 
-static float starBezierCurve(float p, float time)
+static float
+starBezierCurve (float p,
+		 float time)
 {
     float out;
-    out = p * (time+0.01) * 10;
+
+    out = p * (time + 0.01) * 10;
+
     return out;
 }
 
 void
 initiateStarElement (CompScreen *s,
-		     Element *e)
+		     Element    *e)
 {
     float init;
-    e->dx = elementsMmRand(-50000, 50000, 5000);
-    e->dy = elementsMmRand(-50000, 50000, 5000);
-    e->dz = elementsMmRand(000, 200, 2000);
-    e->x = s->width * .5 + elementsGetStarOffsetX (s); // X Offset
-    e->y = s->height * .5 + elementsGetStarOffsetY (s); // Y Offset
-    e->z = elementsMmRand(000, 0.1, 5000);
-    init = elementsMmRand(0,100, 1);
+
+    e->dx = elementsMmRand (-50000, 50000, 5000);
+    e->dy = elementsMmRand (-50000, 50000, 5000);
+    e->dz = elementsMmRand (000, 200, 2000);
+    e->x = s->width / 2 + elementsGetStarOffsetX (s); /* X Offset */
+    e->y = s->height / 2 + elementsGetStarOffsetY (s); /* Y Offset */
+    e->z = elementsMmRand (000, 0.1, 5000);
+    init = elementsMmRand (0,100, 1);
+
     e->x += init * e->dx;
     e->y += init * e->dy;
 }
 
 void
-starMove   (CompScreen *s,
-	    ElementAnimation *anim,
-	    Element *e,
-	    int     updateDelay)
+starMove (CompScreen       *s,
+	  ElementAnimation *anim,
+	  Element          *e,
+	  int              updateDelay)
 {
+    float xs, ys, zs;
     float starsSpeed = anim->speed / 500.0f;
     float tmp = 1.0f / (100.0f - starsSpeed);
-    float xs = starBezierCurve(e->dx, tmp);
-    float ys = starBezierCurve(e->dy, tmp); 
-    float zs = starBezierCurve(e->dz, tmp); 
-    e->x += (float)(xs * (double)updateDelay) * starsSpeed;
-    e->y += (float)(ys * (double)updateDelay) * starsSpeed;
-    e->z += (float)(zs * (double)updateDelay) * starsSpeed;
+
+    xs = starBezierCurve(e->dx, tmp);
+    ys = starBezierCurve(e->dy, tmp);
+    zs = starBezierCurve(e->dz, tmp);
+
+    e->x += xs * updateDelay * starsSpeed;
+    e->y += ys * updateDelay * starsSpeed;
+    e->z += zs * updateDelay * starsSpeed;
 }
 
 void
-- 
1.6.0.4