[fusion-commits] Animation plugin: Changes to 'master' (0d28c6228d262610955f9c8fa1fb45d3f6ac16f1)

cornelius at server.beryl-project.org cornelius at server.beryl-project.org
Sun Jul 22 19:47:20 CEST 2007


New commits:
commit 0d28c6228d262610955f9c8fa1fb45d3f6ac16f1
Author: Erkin Bahceci <erkinbah at gmail.com>
Date:   Sun Jul 22 13:46:07 2007 -0400

    Switch durations to ms because of gconf. Rename options.
    Switching to integer millisecond durations, since gconf apparently
    doesn't support float lists.
    Renaming effect, duration, match options to plurals (which make
    more sense anyway) to prevent any problems related to this duration
    change and the recent switch to multiple effect selection.


 animation-internal.h |   30 +++++++-------
 animation.c          |  111 ++++++++++++++++++++++++--------------------------
 animation.xml.in     |   93 ++++++++++++++++++++----------------------
 3 files changed, 112 insertions(+), 122 deletions(-)


Modified: fusion/plugins/animation/animation-internal.h
===================================================================
--- fusion/plugins/animation/animation-internal.h
+++ fusion/plugins/animation/animation-internal.h
@@ -353,24 +353,24 @@ typedef struct _AnimDisplay
 typedef enum
 {
     // Event settings
-    ANIM_SCREEN_OPTION_OPEN_EFFECT,
-    ANIM_SCREEN_OPTION_OPEN_DURATION,
-    ANIM_SCREEN_OPTION_OPEN_MATCH,
+    ANIM_SCREEN_OPTION_OPEN_EFFECTS,
+    ANIM_SCREEN_OPTION_OPEN_DURATIONS,
+    ANIM_SCREEN_OPTION_OPEN_MATCHES,
     ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS,
-    ANIM_SCREEN_OPTION_CLOSE_EFFECT,
-    ANIM_SCREEN_OPTION_CLOSE_DURATION,
-    ANIM_SCREEN_OPTION_CLOSE_MATCH,
+    ANIM_SCREEN_OPTION_CLOSE_EFFECTS,
+    ANIM_SCREEN_OPTION_CLOSE_DURATIONS,
+    ANIM_SCREEN_OPTION_CLOSE_MATCHES,
     ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS,
-    ANIM_SCREEN_OPTION_MINIMIZE_EFFECT,
-    ANIM_SCREEN_OPTION_MINIMIZE_DURATION,
-    ANIM_SCREEN_OPTION_MINIMIZE_MATCH,
+    ANIM_SCREEN_OPTION_MINIMIZE_EFFECTS,
+    ANIM_SCREEN_OPTION_MINIMIZE_DURATIONS,
+    ANIM_SCREEN_OPTION_MINIMIZE_MATCHES,
     ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS,
-    ANIM_SCREEN_OPTION_FOCUS_EFFECT,
-    ANIM_SCREEN_OPTION_FOCUS_DURATION,
-    ANIM_SCREEN_OPTION_FOCUS_MATCH,
-    ANIM_SCREEN_OPTION_SHADE_EFFECT,
-    ANIM_SCREEN_OPTION_SHADE_DURATION,
-    ANIM_SCREEN_OPTION_SHADE_MATCH,
+    ANIM_SCREEN_OPTION_FOCUS_EFFECTS,
+    ANIM_SCREEN_OPTION_FOCUS_DURATIONS,
+    ANIM_SCREEN_OPTION_FOCUS_MATCHES,
+    ANIM_SCREEN_OPTION_SHADE_EFFECTS,
+    ANIM_SCREEN_OPTION_SHADE_DURATIONS,
+    ANIM_SCREEN_OPTION_SHADE_MATCHES,
     ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS,
     // Misc. settings
     ANIM_SCREEN_OPTION_ALL_RANDOM,

Modified: fusion/plugins/animation/animation.c
===================================================================
--- fusion/plugins/animation/animation.c
+++ fusion/plugins/animation/animation.c
@@ -320,17 +320,13 @@ matchEvalProxy(CompMatch *match, CompWindow *w)
 static AnimEffect
 getMatchingAnimSelection (CompWindow *w,
 			  WindowEvent event,
-			  float *duration)
+			  int *duration)
 {
     ANIM_SCREEN(w->screen);
 
     if (duration == NULL)
-    {
-	compLogMessage
-	    (w->screen->display, "animation", CompLogLevelError,
-	     "%s:%d: Null duration passed.", __FILE__, __LINE__);
 	return AnimEffectNone;
-    }
+
     CompOptionValue *valMatch;
     CompOptionValue *valEffect;
     CompOptionValue *valDuration;
@@ -340,35 +336,35 @@ getMatchingAnimSelection (CompWindow *w,
     {
     case WindowEventOpen:
 	effects = closeEffects;
-	valMatch = &as->opt[ANIM_SCREEN_OPTION_OPEN_MATCH].value;
-	valEffect = &as->opt[ANIM_SCREEN_OPTION_OPEN_EFFECT].value;
-	valDuration = &as->opt[ANIM_SCREEN_OPTION_OPEN_DURATION].value;
+	valMatch = &as->opt[ANIM_SCREEN_OPTION_OPEN_MATCHES].value;
+	valEffect = &as->opt[ANIM_SCREEN_OPTION_OPEN_EFFECTS].value;
+	valDuration = &as->opt[ANIM_SCREEN_OPTION_OPEN_DURATIONS].value;
 	break;
     case WindowEventClose:
 	effects = closeEffects;
-	valMatch = &as->opt[ANIM_SCREEN_OPTION_CLOSE_MATCH].value;
-	valEffect = &as->opt[ANIM_SCREEN_OPTION_CLOSE_EFFECT].value;
-	valDuration = &as->opt[ANIM_SCREEN_OPTION_CLOSE_DURATION].value;
+	valMatch = &as->opt[ANIM_SCREEN_OPTION_CLOSE_MATCHES].value;
+	valEffect = &as->opt[ANIM_SCREEN_OPTION_CLOSE_EFFECTS].value;
+	valDuration = &as->opt[ANIM_SCREEN_OPTION_CLOSE_DURATIONS].value;
 	break;
     case WindowEventMinimize:
     case WindowEventUnminimize:
 	effects = minimizeEffects;
-	valMatch = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_MATCH].value;
-	valEffect = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_EFFECT].value;
-	valDuration = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_DURATION].value;
+	valMatch = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_MATCHES].value;
+	valEffect = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_EFFECTS].value;
+	valDuration = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_DURATIONS].value;
 	break;
     case WindowEventFocus:
 	effects = focusEffects;
-	valMatch = &as->opt[ANIM_SCREEN_OPTION_FOCUS_MATCH].value;
-	valEffect = &as->opt[ANIM_SCREEN_OPTION_FOCUS_EFFECT].value;
-	valDuration = &as->opt[ANIM_SCREEN_OPTION_FOCUS_DURATION].value;
+	valMatch = &as->opt[ANIM_SCREEN_OPTION_FOCUS_MATCHES].value;
+	valEffect = &as->opt[ANIM_SCREEN_OPTION_FOCUS_EFFECTS].value;
+	valDuration = &as->opt[ANIM_SCREEN_OPTION_FOCUS_DURATIONS].value;
 	break;
     case WindowEventShade:
     case WindowEventUnshade:
 	effects = shadeEffects;
-	valMatch = &as->opt[ANIM_SCREEN_OPTION_SHADE_MATCH].value;
-	valEffect = &as->opt[ANIM_SCREEN_OPTION_SHADE_EFFECT].value;
-	valDuration = &as->opt[ANIM_SCREEN_OPTION_SHADE_DURATION].value;
+	valMatch = &as->opt[ANIM_SCREEN_OPTION_SHADE_MATCHES].value;
+	valEffect = &as->opt[ANIM_SCREEN_OPTION_SHADE_EFFECTS].value;
+	valDuration = &as->opt[ANIM_SCREEN_OPTION_SHADE_DURATIONS].value;
 	break;
     case WindowEventNone:
 	return AnimEffectNone;
@@ -391,7 +387,7 @@ getMatchingAnimSelection (CompWindow *w,
 	if (!matchEvalProxy (&valMatch->list.value[i].match, w))
 	    continue;
 
-	*duration = valDuration->list.value[i].f;
+	*duration = valDuration->list.value[i].i;
 
 	return effects[valEffect->list.value[i].i];
     }
@@ -782,11 +778,11 @@ animSetScreenOptions(CompPlugin *plugin,
 
     switch (index)
     {
-    case ANIM_SCREEN_OPTION_OPEN_MATCH:
-    case ANIM_SCREEN_OPTION_CLOSE_MATCH:
-    case ANIM_SCREEN_OPTION_MINIMIZE_MATCH:
-    case ANIM_SCREEN_OPTION_FOCUS_MATCH:
-    case ANIM_SCREEN_OPTION_SHADE_MATCH:
+    case ANIM_SCREEN_OPTION_OPEN_MATCHES:
+    case ANIM_SCREEN_OPTION_CLOSE_MATCHES:
+    case ANIM_SCREEN_OPTION_MINIMIZE_MATCHES:
+    case ANIM_SCREEN_OPTION_FOCUS_MATCHES:
+    case ANIM_SCREEN_OPTION_SHADE_MATCHES:
 	if (compSetOptionList(o, value))
 	{
 	    int i;
@@ -848,24 +844,24 @@ animSetScreenOptions(CompPlugin *plugin,
 
 static const CompMetadataOptionInfo animScreenOptionInfo[] = {
     // Event settings
-    { "open_effect", "list", "<type>int</type>" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 },
-    { "open_duration", "list", "<type>float</type><min>0.02</min>", 0, 0 },
-    { "open_match", "list", "<type>match</type>", 0, 0 },
+    { "open_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 },
+    { "open_durations", "list", "<type>int</type><min>50</min>", 0, 0 },
+    { "open_matches", "list", "<type>match</type>", 0, 0 },
     { "open_random_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_RANDOM_CLOSE_EFFECT), 0, 0 },
-    { "close_effect", "list", "<type>int</type>" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 },
-    { "close_duration", "list", "<type>float</type><min>0.02</min>", 0, 0 },
-    { "close_match", "list", "<type>match</type>", 0, 0 },
+    { "close_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 },
+    { "close_durations", "list", "<type>int</type><min>50</min>", 0, 0 },
+    { "close_matches", "list", "<type>match</type>", 0, 0 },
     { "close_random_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_RANDOM_CLOSE_EFFECT), 0, 0 },
-    { "minimize_effect", "list", "<type>int</type>" RESTOSTRING (0, LAST_MINIMIZE_EFFECT), 0, 0 },
-    { "minimize_duration", "list", "<type>float</type><min>0.02</min>", 0, 0 },
-    { "minimize_match", "list", "<type>match</type>", 0, 0 },
+    { "minimize_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_MINIMIZE_EFFECT), 0, 0 },
+    { "minimize_durations", "list", "<type>int</type><min>50</min>", 0, 0 },
+    { "minimize_matches", "list", "<type>match</type>", 0, 0 },
     { "minimize_random_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_RANDOM_MINIMIZE_EFFECT), 0, 0 },
-    { "focus_effect", "list", "<type>int</type>" RESTOSTRING (0, LAST_FOCUS_EFFECT), 0, 0 },
-    { "focus_duration", "list", "<type>float</type><min>0.02</min>", 0, 0 },
-    { "focus_match", "list", "<type>match</type>", 0, 0 },
-    { "shade_effect", "list", "<type>int</type>" RESTOSTRING (0, LAST_SHADE_EFFECT), 0, 0 },
-    { "shade_duration", "list", "<type>float</type><min>0.02</min>", 0, 0 },
-    { "shade_match", "list", "<type>match</type>", 0, 0 },
+    { "focus_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_FOCUS_EFFECT), 0, 0 },
+    { "focus_durations", "list", "<type>int</type><min>50</min>", 0, 0 },
+    { "focus_matches", "list", "<type>match</type>", 0, 0 },
+    { "shade_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_SHADE_EFFECT), 0, 0 },
+    { "shade_durations", "list", "<type>int</type><min>50</min>", 0, 0 },
+    { "shade_matches", "list", "<type>match</type>", 0, 0 },
     { "shade_random_effects", "list", "<type>int</type>" RESTOSTRING (0, LAST_RANDOM_SHADE_EFFECT), 0, 0 },
     // Misc. settings
     { "all_random", "bool", 0, 0, 0 },
@@ -1389,7 +1385,7 @@ initiateFocusAnimation(CompWindow *w)
     if (aw->curWindowEvent != WindowEventNone || otherPluginsActive(as))
 	return;
 
-    float duration = 0.2f;
+    int duration = 200;
     AnimEffect chosenEffect =
 	getMatchingAnimSelection (w, WindowEventFocus, &duration);
 
@@ -1534,7 +1530,7 @@ initiateFocusAnimation(CompWindow *w)
 			transformTotalProgress;
 
 		    adw->animTotalTime =
-			transformTotalProgress * 1000 * duration;
+			transformTotalProgress * duration;
 		    adw->animRemainingTime = adw->animTotalTime;
 
 		    if (maxTransformTotalProgress < transformTotalProgress)
@@ -1608,7 +1604,7 @@ initiateFocusAnimation(CompWindow *w)
 		}
 
 		aw->animTotalTime =
-		    maxTransformTotalProgress * 1000 * duration;
+		    maxTransformTotalProgress * duration;
 	    }
 	}
 
@@ -1621,7 +1617,7 @@ initiateFocusAnimation(CompWindow *w)
 	aw->curWindowEvent = WindowEventFocus;
 	aw->curAnimEffect = chosenEffect;
 	if (chosenEffect != AnimEffectDodge)
-	    aw->animTotalTime = duration * 1000;
+	    aw->animTotalTime = duration;
 	aw->animRemainingTime = aw->animTotalTime;
 
 	// Store coords in this viewport to omit 3d effect
@@ -2870,7 +2866,7 @@ static void animHandleEvent(CompDisplay * d, XEvent * event)
 	    {
 		ANIM_WINDOW(w);
 
-		float duration = 0.2f;
+		int duration = 200;
 		AnimEffect chosenEffect =
 		    getMatchingAnimSelection (w, WindowEventShade, &duration);
 
@@ -2923,7 +2919,7 @@ static void animHandleEvent(CompDisplay * d, XEvent * event)
 				break;
 						
 			    aw->curAnimEffect = effectToBePlayed;
-			    aw->animTotalTime = duration * 1000;
+			    aw->animTotalTime = duration;
 			    aw->animRemainingTime = aw->animTotalTime;
 			}
 
@@ -3000,7 +2996,7 @@ static void animHandleEvent(CompDisplay * d, XEvent * event)
 				break;
 
 			    aw->curAnimEffect = effectToBePlayed;
-			    aw->animTotalTime = duration * 1000;
+			    aw->animTotalTime = duration;
 			    aw->animRemainingTime = aw->animTotalTime;
 			}
 
@@ -3047,7 +3043,7 @@ static void animHandleEvent(CompDisplay * d, XEvent * event)
 		if (!(w->resName || isQtTransientWindow(w)))
 		    break;
 
-		float duration = 0.2f;
+		int duration = 200;
 		AnimEffect chosenEffect =
 		    getMatchingAnimSelection (w, WindowEventClose, &duration);
 
@@ -3114,10 +3110,9 @@ static void animHandleEvent(CompDisplay * d, XEvent * event)
 			    break;
 					
 			aw->curAnimEffect = effectToBePlayed;
-			aw->animTotalTime = duration * 1000;
+			aw->animTotalTime = duration;
 			aw->animRemainingTime = aw->animTotalTime;
 		    }
-
 		    animActivateEvent(w->screen, TRUE);
 		    aw->curWindowEvent = WindowEventClose;
 
@@ -3367,7 +3362,7 @@ static void animHandleEvent(CompDisplay * d, XEvent * event)
 
 	    if (w)
 	    {
-		float duration = 0.2f;
+		int duration = 200;
 		AnimEffect chosenEffect =
 		    getMatchingAnimSelection (w, WindowEventFocus, &duration);
 
@@ -3392,7 +3387,7 @@ static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect)
     {
 	ANIM_WINDOW(w);
 
-	float duration = 0.2f;
+	int duration = 200;
 	AnimEffect chosenEffect;
 
 	if (aw->state == IconicState)
@@ -3450,7 +3445,7 @@ static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect)
 		    if (playEffect)
 		    {
 			aw->curAnimEffect = effectToBePlayed;
-			aw->animTotalTime = duration * 1000;
+			aw->animTotalTime = duration;
 			aw->animRemainingTime = aw->animTotalTime;
 		    }
 		}
@@ -3540,7 +3535,7 @@ static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect)
 		    if (playEffect)
 		    {
 			aw->curAnimEffect = effectToBePlayed;
-			aw->animTotalTime = duration * 1000;
+			aw->animTotalTime = duration;
 			aw->animRemainingTime = aw->animTotalTime;
 		    }
 		}
@@ -3568,7 +3563,7 @@ static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect)
 	{
 	    aw->created = TRUE;
 
-	    float duration = 0.2f;
+	    int duration = 200;
 	    AnimEffect chosenEffect =
 		getMatchingAnimSelection (w, WindowEventOpen, &duration);
 
@@ -3627,7 +3622,7 @@ static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect)
 		    if (playEffect)
 		    {
 			aw->curAnimEffect = effectToBePlayed;
-			aw->animTotalTime = duration * 1000;
+			aw->animTotalTime = duration;
 			aw->animRemainingTime = aw->animTotalTime;
 		    }
 		}

Modified: fusion/plugins/animation/animation.xml.in
===================================================================
--- fusion/plugins/animation/animation.xml.in
+++ fusion/plugins/animation/animation.xml.in
@@ -21,7 +21,7 @@
 
 	<subgroup>
 	  <_short>Animation Selection</_short>
-	  <option name="close_effect" type="list">
+	  <option name="close_effects" type="list">
 	    <_short>Close Effect</_short>
 	    <_long>The animation effect shown when closing a window.</_long>
 	    <type>int</type>
@@ -109,20 +109,19 @@
 	      <_name>Zoom</_name>
 	    </desc>
 	  </option>
-	  <option name="close_duration" type="list">
+	  <option name="close_durations" type="list">
 	    <_short>Duration</_short>
-	    <_long>Animation duration in seconds for close effect.</_long>
-	    <type>float</type>
-	    <min>0.1</min>
-	    <max>10</max>
-	    <precision>0.01</precision>
+	    <_long>Animation duration in milliseconds for close effect.</_long>
+	    <type>int</type>
+	    <min>50</min>
+	    <max>4000</max>
 	    <default>
-	      <value>0.2</value>
-	      <value>0.15</value>
-	      <value>0.15</value>
+	      <value>200</value>
+	      <value>150</value>
+	      <value>150</value>
 	    </default>
 	  </option>
-	  <option name="close_match" type="list">
+	  <option name="close_matches" type="list">
 	    <_short>Window Match</_short>
 	    <_long>The windows that will be animated.</_long>
 	    <type>match</type>
@@ -249,7 +248,7 @@
 
 	<subgroup>
 	  <_short>Animation Selection</_short>
-	  <option name="open_effect" type="list">
+	  <option name="open_effects" type="list">
 	    <_short>Open Effect</_short>
 	    <_long>The animation effect shown when creating a window.</_long>
 	    <type>int</type>
@@ -337,20 +336,19 @@
 	      <_name>Zoom</_name>
 	    </desc>
 	  </option>
-	  <option name="open_duration" type="list">
+	  <option name="open_durations" type="list">
 	    <_short>Duration</_short>
-	    <_long>Animation duration in seconds for open effect.</_long>
-	    <type>float</type>
-	    <min>0.1</min>
-	    <max>10</max>
-	    <precision>0.01</precision>
+	    <_long>Animation duration in milliseconds for open effect.</_long>
+	    <type>int</type>
+	    <min>50</min>
+	    <max>4000</max>
 	    <default>
-	      <value>0.2</value>
-	      <value>0.15</value>
-	      <value>0.15</value>
+	      <value>200</value>
+	      <value>150</value>
+	      <value>150</value>
 	    </default>
 	  </option>
-	  <option name="open_match" type="list">
+	  <option name="open_matches" type="list">
 	    <_short>Window Match</_short>
 	    <_long>The windows that will be animated.</_long>
 	    <type>match</type>
@@ -477,7 +475,7 @@
 
 	<subgroup>
 	  <_short>Animation Selection</_short>
-	  <option name="minimize_effect" type="list">
+	  <option name="minimize_effects" type="list">
 	    <_short>Minimize Effect</_short>
 	    <_long>The animation effect shown when minimizing a window.</_long>
 	    <type>int</type>
@@ -555,18 +553,17 @@
 	      <_name>Zoom</_name>
 	    </desc>
 	  </option>
-	  <option name="minimize_duration" type="list">
+	  <option name="minimize_durations" type="list">
 	    <_short>Duration</_short>
-	    <_long>Animation duration in seconds for minimize effect.</_long>
-	    <type>float</type>
+	    <_long>Animation duration in milliseconds for minimize effect.</_long>
+	    <type>int</type>
+	    <min>50</min>
+	    <max>4000</max>
 	    <default>
-	      <value>0.3</value>
+	      <value>300</value>
 	    </default>
-	    <min>0.1</min>
-	    <max>10</max>
-	    <precision>0.01</precision>
 	  </option>
-	  <option name="minimize_match" type="list">
+	  <option name="minimize_matches" type="list">
 	    <_short>Window Match</_short>
 	    <_long>The windows that will be animated.</_long>
 	    <type>match</type>
@@ -679,7 +676,7 @@
 
 	<subgroup>
 	  <_short>Animation Selection</_short>
-	  <option name="shade_effect" type="list">
+	  <option name="shade_effects" type="list">
 	    <_short>Shade Effect</_short>
 	    <_long>The animation effect shown when shading a window.</_long>
 	    <type>int</type>
@@ -709,18 +706,17 @@
 	      <_name>Roll Up</_name>
 	    </desc>
 	  </option>
-	  <option name="shade_duration" type="list">
+	  <option name="shade_durations" type="list">
 	    <_short>Duration</_short>
-	    <_long>Animation duration in seconds for shade effect.</_long>
-	    <type>float</type>
+	    <_long>Animation duration in milliseconds for shade effect.</_long>
+	    <type>int</type>
+	    <min>50</min>
+	    <max>4000</max>
 	    <default>
-	      <value>0.3</value>
+	      <value>300</value>
 	    </default>
-	    <min>0.1</min>
-	    <max>10</max>
-	    <precision>0.01</precision>
 	  </option>
-	  <option name="shade_match" type="list">
+	  <option name="shade_matches" type="list">
 	    <_short>Window Match</_short>
 	    <_long>Window that should animate with this effect when shaded.</_long>
 	    <type>match</type>
@@ -772,7 +768,7 @@
 	<_short>Focus Animation</_short>
 	<subgroup>
 	  <_short>Animation Selection</_short>
-	  <option name="focus_effect" type="list">
+	  <option name="focus_effects" type="list">
 	    <_short>Focus Effect</_short>
 	    <_long>The animation effect shown when focusing a window.</_long>
 	    <type>int</type>
@@ -798,18 +794,17 @@
 	      <_name>Wave</_name>
 	    </desc>
 	  </option>
-	  <option name="focus_duration" type="list">
+	  <option name="focus_durations" type="list">
 	    <_short>Duration</_short>
-	    <_long>Animation duration in seconds for focus effect.</_long>
-	    <type>float</type>
-	    <min>0.1</min>
-	    <max>10</max>
-	    <precision>0.01</precision>
+	    <_long>Animation duration in milliseconds for focus effect.</_long>
+	    <type>int</type>
+	    <min>50</min>
+	    <max>4000</max>
 	    <default>
-	      <value>0.3</value>
+	      <value>300</value>
 	    </default>
 	  </option>
-	  <option name="focus_match" type="list">
+	  <option name="focus_matches" type="list">
 	    <_short>Window Match</_short>
 	    <_long>Window that should animate with this effect when focused.</_long>
 	    <type>match</type>


More information about the commits mailing list