diff --git a/kwin/fire/config.ui b/kwin/fire/config.ui
index 509b83c..0999985 100755
--- a/kwin/fire/config.ui
+++ b/kwin/fire/config.ui
@@ -6,145 +6,152 @@ SPDX-License-Identifier: GPL-3.0-or-later
-->
- BMWConfigForm
-
-
-
- 0
- 0
- 562
- 365
-
-
-
- -
-
-
- Gradient
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- 100
-
-
- 9999
-
-
- 100
-
-
-
- -
-
-
- 0.100000000000000
-
-
- 10.000000000000000
-
-
-
- -
-
-
- Speed
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- -5.000000000000000
-
-
- 5.000000000000000
-
-
-
- -
-
-
- Scale
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
-
-
- true
-
-
-
- -
-
-
- true
-
-
-
- -
-
-
- true
-
-
-
- -
-
-
- true
-
-
-
- -
-
-
- true
-
-
-
-
-
- -
-
-
- 3D Noise
-
-
-
- -
-
-
- Animation Time [ms]
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
+ BMWConfigForm
+
+
+
+ 0
+ 0
+ 562
+ 365
+
+
+
+ -
+
+
+ Animation Time [ms]
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
-
-
- KColorButton
- QPushButton
-
-
-
-
-
+
+ -
+
+
+ 100
+
+
+ 9999
+
+
+ 100
+
+
+
+ -
+
+
+ Scale
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
+
+
+ -
+
+
+ 0.100000000000000
+
+
+ 10.000000000000000
+
+
+
+ -
+
+
+ Speed
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
+
+
+ -
+
+
+ -5.000000000000000
+
+
+ 5.000000000000000
+
+
+
+ -
+
+
+ Gradient
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
+
+
+ -
+
+
-
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+
+
+
+ -
+
+
+ 3D Noise
+
+
+
+ -
+
+
+ Use Random Color
+
+
+
+
+
+
+
+ KColorButton
+ QPushButton
+
+
+
+
+
diff --git a/kwin/fire/main.xml b/kwin/fire/main.xml
index 0ca4dc0..da48b7d 100755
--- a/kwin/fire/main.xml
+++ b/kwin/fire/main.xml
@@ -36,5 +36,8 @@ SPDX-License-Identifier: GPL-3.0-or-later
false
+
+ false
+
\ No newline at end of file
diff --git a/kwin/fire/onAnimationBegin.js b/kwin/fire/onAnimationBegin.js
new file mode 100644
index 0000000..fcc14a2
--- /dev/null
+++ b/kwin/fire/onAnimationBegin.js
@@ -0,0 +1,8 @@
+// SPDX-FileCopyrightText: Simon Schneegans
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+// This part is automatically included in the effect's source during the build process.
+// The code below is called whenever a window is closed or opened.
+
+let seed = Math.random();
+effect.setUniform(this.shader, 'uSeed', seed);
diff --git a/kwin/fire/onSettingsChanged.js b/kwin/fire/onSettingsChanged.js
index 5490f4b..2e4ade8 100644
--- a/kwin/fire/onSettingsChanged.js
+++ b/kwin/fire/onSettingsChanged.js
@@ -8,6 +8,8 @@
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
effect.setUniform(this.shader, 'u3DNoise',
effect.readConfig('3DNoise', true) ? 1.0 : 0.0);
+effect.setUniform(this.shader, 'uRandomColor',
+ effect.readConfig('RandomColor', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uMovementSpeed', effect.readConfig('MovementSpeed', 1.0));
effect.setUniform(this.shader, 'uGradient1', this.readRGBAConfig('Gradient1'));