diff --git a/resources/ui/gtk4/wispsPage.ui b/resources/ui/gtk4/wispsPage.ui
index 3aee991..fc89c31 100644
--- a/resources/ui/gtk4/wispsPage.ui
+++ b/resources/ui/gtk4/wispsPage.ui
@@ -64,6 +64,52 @@
+
+
+
+
0
diff --git a/schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml b/schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
index 8e31702..25154cd 100644
--- a/schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
+++ b/schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
@@ -239,6 +239,12 @@
The time the wisps effect takes.
+
+ 1.0
+ Wisps Scale
+ The size of the wisps.
+
+
"rgb(255, 100, 200)"
Wisps Effect Color
diff --git a/src/Wisps.js b/src/Wisps.js
index 411a793..a04e2c8 100644
--- a/src/Wisps.js
+++ b/src/Wisps.js
@@ -64,6 +64,7 @@ var Wisps = class Wisps {
// Bind all properties.
dialog.bindAdjustment('wisps-animation-time');
+ dialog.bindAdjustment('wisps-scale');
dialog.bindColorButton('wisps-color');
// Finally, append the settings page to the main stack.
@@ -182,6 +183,7 @@ if (utils.isInShellProcess()) {
// Compute several layers of moving wisps.
vec2 uv = (cogl_tex_coord_in[0].st-0.5) / mix(1.0, 0.5, uProgress) + 0.5;
+ uv /= ${settings.get_double('wisps-scale')};
float wisps = 0;
for (int i=0; i