diff --git a/effects/fade/package/contents/code/main.js b/effects/fade/package/contents/code/main.js
--- a/effects/fade/package/contents/code/main.js
+++ b/effects/fade/package/contents/code/main.js
@@ -18,73 +18,107 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*********************************************************************/
+
+function isLoginWindow(w) {
+ return (w.windowClass == "ksplashx ksplashx"
+ || w.windowClass == "ksplashsimple ksplashsimple"
+ || w.windowClass == "ksplashqml ksplashqml");
+}
+
function isFadeWindow(w) {
if (w.deleted && effect.isGrabbed(w, Effect.WindowClosedGrabRole)) {
return false;
} else if (!w.deleted && effect.isGrabbed(w, Effect.WindowAddedGrabRole)) {
return false;
}
- return w.onCurrentDesktop && !isLoginWindow(w) && !w.desktopWindow && !w.utility && !w.minimized;
+ return (w.onCurrentDesktop
+ && !isLoginWindow(w)
+ && !w.desktopWindow
+ && !w.utility
+ && !w.minimized);
}
-function isLoginWindow(w) {
- return w.windowClass == "ksplashx ksplashx" || w.windowClass == "ksplashsimple ksplashsimple" || w.windowClass == "ksplashqml ksplashqml";
-}
-
-var fadeInTime, fadeOutTime, fadeWindows;
-function loadConfig() {
- fadeInTime = animationTime(effect.readConfig("FadeInTime", 150));
- fadeOutTime = animationTime(effect.readConfig("FadeOutTime", 150)) * 4;
- fadeWindows = effect.readConfig("FadeWindows", true);
-}
-loadConfig();
-effect.configChanged.connect(function() {
- loadConfig();
-});
-function fadeInHandler(w) {
- if (fadeWindows && isFadeWindow(w)) {
- if (w.fadeOutWindowTypeAnimation !== undefined) {
- cancel(w.fadeOutWindowTypeAnimation);
- w.fadeOutWindowTypeAnimation = undefined;
+var fadeEffect = {
+ duration: {
+ fadeIn: animationTime(150),
+ fadeOut: animationTime(150) * 4
+ },
+ loadConfig: function () {
+ 'use strict';
+ fadeEffect.duration.fadeIn =
+ animationTime(effect.readConfig('FadeInDuration', 150));
+ fadeEffect.duration.fadeOut =
+ animationTime(effect.readConfig('FadeOutDuration', 150)) * 4;
+ },
+ fadeIn: function (window) {
+ 'use strict';
+ if (! isFadeWindow(window)) {
+ return;
}
- w.fadeInWindowTypeAnimation = effect.animate(w, Effect.Opacity, fadeInTime, 1.0, 0.0);
- }
-}
-function fadeOutHandler(w) {
- if (fadeWindows && isFadeWindow(w)) {
- if (w.fadeOutWindowTypeAnimation !== undefined) {
- // don't animate again as it was already animated through window hidden
+ fadeEffect.cancelFadeOut(window);
+ window.fadeInWindowTypeAnimation = animate({
+ window: window,
+ duration: fadeEffect.duration.fadeIn,
+ curve: QEasingCurve.InQuart,
+ animations: [{
+ type: Effect.Opacity,
+ to: 1.0,
+ from: 0.0
+ }]
+ });
+ },
+ cancelFadeIn: function (window) {
+ 'use strict';
+ if (window.fadeInWindowTypeAnimation !== undefined) {
+ cancel(window.fadeInWindowTypeAnimation);
+ window.fadeInWindowTypeAnimation = undefined;
+ }
+ },
+ fadeOut: function (window) {
+ 'use strict';
+ if (! isFadeWindow(window)) {
return;
}
- w.fadeOutWindowTypeAnimation = animate({
- window: w,
- duration: fadeOutTime,
+ fadeEffect.cancelFadeIn(window);
+ window.fadeOutWindowTypeAnimation = animate({
+ window: window,
+ duration: fadeEffect.duration.fadeOut,
+ curve: QEasingCurve.OutQuart,
animations: [{
type: Effect.Opacity,
- curve: QEasingCurve.OutQuart,
- to: 0.0
+ to: 0.0,
+ from: 1.0
}]
});
- }
-}
-effects.windowAdded.connect(fadeInHandler);
-effects.windowShown.connect(fadeInHandler);
-effects.windowClosed.connect(fadeOutHandler);
-effects.windowHidden.connect(fadeOutHandler);
-effects.windowDataChanged.connect(function (window, role) {
- if (role == Effect.WindowAddedGrabRole) {
- if (effect.isGrabbed(window, Effect.WindowAddedGrabRole)) {
- if (window.fadeInWindowTypeAnimation !== undefined) {
- cancel(window.fadeInWindowTypeAnimation);
- window.fadeInWindowTypeAnimation = undefined;
- }
+ },
+ cancelFadeOut: function (window) {
+ 'use strict';
+ if (window.fadeOutWindowTypeAnimation !== undefined) {
+ cancel(window.fadeOutWindowTypeAnimation);
+ window.fadeOutWindowTypeAnimation = undefined;
}
- } else if (role == Effect.WindowClosedGrabRole) {
- if (effect.isGrabbed(window, Effect.WindowClosedGrabRole)) {
- if (window.fadeOutWindowTypeAnimation !== undefined) {
- cancel(window.fadeOutWindowTypeAnimation);
- window.fadeOutWindowTypeAnimation = undefined;
+ },
+ dataChanged: function (window, role) {
+ 'use strict';
+ if (role == Effect.WindowAddedGrabRole) {
+ if (effect.isGrabbed(window, Effect.WindowAddedGrabRole)) {
+ fadeEffect.cancelFadeIn(window);
+ }
+ } else if (role == Effect.WindowClosedGrabRole) {
+ if (effect.isGrabbed(window, Effect.WindowClosedGrabRole)) {
+ fadeEffect.cancelFadeOut(window);
}
}
+ },
+ init: function () {
+ 'use strict';
+ effect.configChanged.connect(fadeEffect.loadConfig);
+ effects.windowAdded.connect(fadeEffect.fadeIn);
+ effects.windowClosed.connect(fadeEffect.fadeOut);
+ effects.windowShown.connect(fadeEffect.fadeIn);
+ effects.windowHidden.connect(fadeEffect.fadeOut);
+ effects.windowDataChanged.connect(fadeEffect.dataChanged);
}
-});
+};
+
+fadeEffect.init();
diff --git a/effects/fade/package/contents/config/main.xml b/effects/fade/package/contents/config/main.xml
--- a/effects/fade/package/contents/config/main.xml
+++ b/effects/fade/package/contents/config/main.xml
@@ -6,13 +6,10 @@
-
- true
-
-
+
150
-
+
150