diff --git a/resources/ui/gtk3/energizeAPage.ui b/resources/ui/gtk3/energizeAPage.ui
new file mode 100644
index 0000000..b292863
--- /dev/null
+++ b/resources/ui/gtk3/energizeAPage.ui
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/ui/gtk3/energizeBPage.ui b/resources/ui/gtk3/energizeBPage.ui
new file mode 100644
index 0000000..080d2b6
--- /dev/null
+++ b/resources/ui/gtk3/energizeBPage.ui
@@ -0,0 +1,183 @@
+
+
+
+
+ 10000
+ 500
+ 10
+ 100
+
+
+
+ 10
+ 0.1
+ 0.01
+ 0.1
+
+
+
+ vertical
+ 60
+ 60
+ 60
+ 60
+
+
+
+
+
+ none
+
+
+
+
+ 10
+ 10
+ 10
+ 10
+ 0
+
+
+ 8
+
+
+ Animation Time [ms]
+ 0
+ start
+ center
+ 1
+
+
+
+
+ end
+ center
+ 1
+ 0
+ left
+ 300
+ energize-b-animation-time
+
+
+
+
+
+
+ edit-clear-symbolic
+ 1
+
+
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+ 10
+ 10
+ 10
+ 10
+ 0
+
+
+ 8
+
+
+ Scale
+ 0
+ start
+ center
+ 1
+
+
+
+
+ end
+ center
+ 1
+ 2
+ left
+ 300
+ energize-b-scale
+
+
+
+
+
+
+ edit-clear-symbolic
+ 1
+
+
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+ 10
+ 10
+ 10
+ 10
+ 0
+
+
+
+
+ Color
+ 0
+ start
+ center
+ 1
+
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+ edit-clear-symbolic
+ 1
+
+
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/ui/gtk4/energizeAPage.ui b/resources/ui/gtk4/energizeAPage.ui
new file mode 100644
index 0000000..92911d9
--- /dev/null
+++ b/resources/ui/gtk4/energizeAPage.ui
@@ -0,0 +1,155 @@
+
+
+
+
+ vertical
+ 60
+ 60
+ 60
+ 60
+
+
+
+
+
+ none
+ 1
+
+
+
+
+ 0
+
+
+
+
+ Animation Time [ms]
+ 0
+ start
+ center
+ 1
+
+
+
+
+ end
+ center
+ 1
+ 0
+ left
+ 300
+
+
+ 10000
+ 500
+ 10
+ 100
+
+
+
+
+
+
+ edit-clear-symbolic
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ Scale
+ 0
+ start
+ center
+ 1
+
+
+
+
+ end
+ center
+ 1
+ 2
+ left
+ 300
+
+
+ 10
+ 0.1
+ 0.01
+ 0.1
+
+
+
+
+
+
+ edit-clear-symbolic
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ Color
+ 0
+ start
+ center
+ 1
+
+
+
+
+ 0
+ 1
+
+
+
+
+ edit-clear-symbolic
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/ui/gtk4/energizeBPage.ui b/resources/ui/gtk4/energizeBPage.ui
new file mode 100644
index 0000000..77f1e4d
--- /dev/null
+++ b/resources/ui/gtk4/energizeBPage.ui
@@ -0,0 +1,155 @@
+
+
+
+
+ vertical
+ 60
+ 60
+ 60
+ 60
+
+
+
+
+
+ none
+ 1
+
+
+
+
+ 0
+
+
+
+
+ Animation Time [ms]
+ 0
+ start
+ center
+ 1
+
+
+
+
+ end
+ center
+ 1
+ 0
+ left
+ 300
+
+
+ 10000
+ 500
+ 10
+ 100
+
+
+
+
+
+
+ edit-clear-symbolic
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ Scale
+ 0
+ start
+ center
+ 1
+
+
+
+
+ end
+ center
+ 1
+ 2
+ left
+ 300
+
+
+ 10
+ 0.1
+ 0.01
+ 0.1
+
+
+
+
+
+
+ edit-clear-symbolic
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ Color
+ 0
+ start
+ center
+ 1
+
+
+
+
+ 0
+ 1
+
+
+
+
+ edit-clear-symbolic
+ Reset to Default Value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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 25154cd..a7df45e 100644
--- a/schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
+++ b/schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
@@ -180,7 +180,7 @@
-
+
@@ -190,11 +190,17 @@
- 2500
+ 2000
Energize A Animation Time
The time the Energize A effect takes.
+
+ 1.0
+ Energize A Scale
+ The size of the effect.
+
+
"rgb(255, 200, 50)"
Energize A Color
@@ -202,7 +208,7 @@
-
+
@@ -212,11 +218,17 @@
- 2500
+ 2000
Energize B Animation Time
The time the Energize B effect takes.
+
+ 1.0
+ Energize B Scale
+ The size of the effect.
+
+
"rgb(160, 180, 255)"
Energize B Color
diff --git a/src/EnergizeB.js b/src/EnergizeB.js
index f0d36cd..a9848d6 100644
--- a/src/EnergizeB.js
+++ b/src/EnergizeB.js
@@ -59,17 +59,18 @@ var EnergizeB = class EnergizeB {
static initPreferences(dialog) {
// Add the settings page to the builder.
- // dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/tvPage.ui`);
+ dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/energizeBPage.ui`);
// Bind all properties.
- // dialog.bindAdjustment('tv-animation-time');
- // dialog.bindColorButton('tv-effect-color');
+ dialog.bindAdjustment('energize-b-animation-time');
+ dialog.bindAdjustment('energize-b-scale');
+ dialog.bindColorButton('energize-b-color');
// Finally, append the settings page to the main stack.
- // const stack = dialog.getBuilder().get_object('main-stack');
- // stack.add_titled(
- // dialog.getBuilder().get_object('tv-prefs'), EnergizeB.getNick(),
- // EnergizeB.getLabel());
+ const stack = dialog.getBuilder().get_object('main-stack');
+ stack.add_titled(
+ dialog.getBuilder().get_object('energize-b-prefs'), EnergizeB.getNick(),
+ EnergizeB.getLabel());
}
// ---------------------------------------------------------------- API for extension.js
@@ -130,6 +131,7 @@ if (utils.isInShellProcess()) {
const float SHOWER_WIDTH = 0.3;
const float STREAK_TIME = 0.6;
const float EDGE_FADE = 50;
+ const float SCALE = ${settings.get_double('energize-b-scale')};
// This method returns four values:
// result.x: A mask for the particles which lead the shower.
@@ -191,19 +193,19 @@ if (utils.isInShellProcess()) {
// Add leading shower particles.
vec2 showerUV = cogl_tex_coord_in[0].st + vec2(0, -0.7*uProgress/SHOWER_TIME);
- showerUV *= 0.02 * vec2(uSizeX, uSizeY);
+ showerUV *= 0.02 * vec2(uSizeX, uSizeY) / SCALE;
float shower = pow(simplex2D(showerUV), 10.0);
cogl_color_out.rgb += effectColor * shower * masks.x;
// Add trailing streak lines.
vec2 streakUV = cogl_tex_coord_in[0].st + vec2(0, -uProgress/SHOWER_TIME);
- streakUV *= vec2(0.05 * uSizeX, 0.001 * uSizeY);
+ streakUV *= vec2(0.05 * uSizeX, 0.001 * uSizeY) / SCALE;
float streaks = simplex2DFractal(streakUV) * 0.5;
cogl_color_out.rgb += effectColor * streaks * masks.y;
// Add glimmering atoms.
vec2 atomUV = cogl_tex_coord_in[0].st + vec2(0, -0.025*uProgress/SHOWER_TIME);
- atomUV *= 0.2 * vec2(uSizeX, uSizeY);
+ atomUV *= 0.2 * vec2(uSizeX, uSizeY) / SCALE;
float atoms = pow((simplex3D(vec3(atomUV, uTime))), 5.0);
cogl_color_out.rgb += effectColor * atoms * masks.z;