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 @@ + + + + + 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-a-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-a-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/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;