From 85248ee14362479d6f614eec643c02a9116ca4f5 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Sun, 6 Nov 2022 19:57:52 +0100 Subject: [PATCH 1/9] :wrench: Use AdwExpanderRows for effect settings --- docs/how-to-create-new-effects.md | 128 ++--- prefs.js | 168 +++---- .../scalable/actions/eye-open-symbolic.svg | 2 + resources/ui/gtk4/Apparition.ui | 395 +++++++--------- resources/ui/gtk4/BrokenGlass.ui | 393 ++++++---------- resources/ui/gtk4/Doom.ui | 315 +++++-------- resources/ui/gtk4/EnergizeA.ui | 216 ++++----- resources/ui/gtk4/EnergizeB.ui | 217 ++++----- resources/ui/gtk4/Fire.ui | 438 +++++++----------- resources/ui/gtk4/Glide.ui | 316 +++++-------- resources/ui/gtk4/Hexagon.ui | 430 +++++++---------- resources/ui/gtk4/Incinerate.ui | 371 ++++++--------- resources/ui/gtk4/Matrix.ui | 419 +++++++---------- resources/ui/gtk4/PixelWheel.ui | 236 ++++------ resources/ui/gtk4/PixelWipe.ui | 157 +++---- resources/ui/gtk4/Pixelate.ui | 236 ++++------ resources/ui/gtk4/SnapOfDisintegration.ui | 216 ++++----- resources/ui/gtk4/TRexAttack.ui | 361 ++++++--------- resources/ui/gtk4/TVEffect.ui | 137 ++---- resources/ui/gtk4/Wisps.ui | 216 ++++----- resources/ui/gtk4/effectPage.ui | 59 --- resources/ui/gtk4/prefs.ui | 196 ++------ 22 files changed, 2100 insertions(+), 3522 deletions(-) create mode 100644 resources/img/scalable/actions/eye-open-symbolic.svg delete mode 100644 resources/ui/gtk4/effectPage.ui diff --git a/docs/how-to-create-new-effects.md b/docs/how-to-create-new-effects.md index d6e04c6..d640f24 100644 --- a/docs/how-to-create-new-effects.md +++ b/docs/how-to-create-new-effects.md @@ -450,97 +450,55 @@ SPDX-License-Identifier: GPL-3.0-or-later 0.1 - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + simple-fade-animation-time + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - simple-fade-animation-time - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Fade Width - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - simple-fade-width - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Fade Width + + + center + 1 + 2 + left + 300 + simple-fade-width + + + + + edit-clear-symbolic + center + Reset to Default Value + diff --git a/prefs.js b/prefs.js index 4440466..9473d96 100644 --- a/prefs.js +++ b/prefs.js @@ -116,54 +116,24 @@ var PreferencesDialog = class PreferencesDialog { const generalPrefs = this._builder.get_object('general-prefs'); this.gtkBoxAppend(this._widget, generalPrefs); - // Then add a preferences group with action rows to open the effect subpages. + // Then add a preferences group with expander rows. const group = new Adw.PreferencesGroup({title: _('Effect Options')}); this.gtkBoxAppend(this._widget, group); this._ALL_EFFECTS.forEach(effect => { const [minMajor, minMinor] = effect.getMinShellVersion(); if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { + const row = effect.getPreferences(this); + row.set_title(effect.getLabel()); - const row = new Adw.ActionRow({title: effect.getLabel(), activatable: true}); - row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'})); + const previewButton = Gtk.Button.new_from_icon_name('eye-open-symbolic'); + previewButton.add_css_class('flat'); + previewButton.set_tooltip_text(_('Preview this Effect')); + previewButton.set_valign(Gtk.Align.CENTER); + row.add_prefix(previewButton); - // Open a subpage with the effect's settings. - row.connect('activated', () => { - const page = new BurnMyWindowsEffectPage(effect, this); - page.valign = Gtk.Align.CENTER; - page.margin_top = 10; - page.margin_bottom = 10; - page.margin_start = 10; - page.margin_end = 10; - - // Add the effect's preferences (if any). - const preferences = effect.getPreferences(this); - if (preferences) { - this.gtkBoxAppend(page, preferences); - } - - // Add a button for back navigation. - const backButton = new Gtk.Button({ - halign: Gtk.Align.CENTER, - label: _('Go Back'), - }); - backButton.add_css_class('suggested-action'); - backButton.add_css_class('pill-button'); - backButton.connect('clicked', () => { - row.get_root().close_subpage(); - }); - - this.gtkBoxAppend(page, backButton); - - // Wrap the preferences group in an Adw.Clamp. - const clamp = new Adw.Clamp({ - child: page, - maximum_size: 600, - tightening_threshold: 400, - }); - - // Open the subpage on click. - row.get_root().present_subpage(clamp); + previewButton.connect('clicked', () => { + this._previewEffect(effect); }); group.add(row); @@ -482,16 +452,73 @@ var PreferencesDialog = class PreferencesDialog { return null; } + // Opens a modal window using the given effect. + _previewEffect(effect) { + + // Set the to-be-previewed effect. + this.getSettings().set_string('open-preview-effect', effect.getNick()); + this.getSettings().set_string('close-preview-effect', effect.getNick()); + + // Make sure that the window.show() firther below "sees" this change. + Gio.Settings.sync(); + + // Create the preview-window. + const window = new Gtk.Window({ + // Translators: %s will be replaced by the effect's name. + title: _('Preview for %s').replace('%s', effect.getLabel()), + default_width: 800, + default_height: 450, + modal: true, + transient_for: utils.isGTK4() ? this._widget.get_root() : + this._widget.get_toplevel() + }); + + // Add a header bar to the window. + if (utils.isGTK4()) { + const header = Gtk.HeaderBar.new(); + window.set_titlebar(header); + } + + const box = new Gtk.Box({ + orientation: Gtk.Orientation.VERTICAL, + valign: Gtk.Align.CENTER, + spacing: 10, + margin_start: 50, + margin_end: 50 + }); + + const label = Gtk.Label.new(_('Close this Window to Preview the Effect!')); + label.wrap = true; + label.justify = Gtk.Justification.CENTER; + label.get_style_context().add_class('large-title'); + + const image = new Gtk.Image({ + icon_name: 'burn-my-windows-symbolic', + pixel_size: 128, + }); + + this.gtkBoxAppend(box, image); + this.gtkBoxAppend(box, label); + + if (utils.isGTK4()) { + window.set_child(box); + window.show(); + } else { + window.add(box); + window.show_all(); + } + } + // Initializes template widgets used by the preferences dialog. _registerCustomClasses() { - // Each effect page is based on a template widget. This template contains the title - // and the preview button. - if (GObject.type_from_name('BurnMyWindowsEffectPage') == null) { + // On GTK3, each effect page is based on a template widget. This template contains the + // title and the preview button. + if (!utils.isGTK4() && GObject.type_from_name('BurnMyWindowsEffectPage') == null) { BurnMyWindowsEffectPage = GObject.registerClass( { GTypeName: 'BurnMyWindowsEffectPage', - Template: `resource:///ui/${utils.getGTKString()}/effectPage.ui`, + Template: `resource:///ui/gtk3/effectPage.ui`, InternalChildren: ['label', 'button'], }, class BurnMyWindowsEffectPage extends Gtk.Box { // ------------------------------ @@ -503,58 +530,7 @@ var PreferencesDialog = class PreferencesDialog { // Open the preview window once the preview button is clicked. this._button.connect('clicked', () => { - // Set the to-be-previewed effect. - dialog.getSettings().set_string('open-preview-effect', effect.getNick()); - dialog.getSettings().set_string('close-preview-effect', effect.getNick()); - - // Make sure that the window.show() firther below "sees" this change. - Gio.Settings.sync(); - - // Create the preview-window. - const window = new Gtk.Window({ - // Translators: %s will be replaced by the effect's name. - title: _('Preview for %s').replace('%s', effect.getLabel()), - default_width: 800, - default_height: 450, - modal: true, - transient_for: utils.isGTK4() ? this._button.get_root() : - this._button.get_toplevel() - }); - - // Add a header bar to the window. - if (utils.isGTK4()) { - const header = Gtk.HeaderBar.new(); - window.set_titlebar(header); - } - - const box = new Gtk.Box({ - orientation: Gtk.Orientation.VERTICAL, - valign: Gtk.Align.CENTER, - spacing: 10, - margin_start: 50, - margin_end: 50 - }); - - const label = Gtk.Label.new(_('Close this Window to Preview the Effect!')); - label.wrap = true; - label.justify = Gtk.Justification.CENTER; - label.get_style_context().add_class('large-title'); - - const image = new Gtk.Image({ - icon_name: 'burn-my-windows-symbolic', - pixel_size: 128, - }); - - dialog.gtkBoxAppend(box, image); - dialog.gtkBoxAppend(box, label); - - if (utils.isGTK4()) { - window.set_child(box); - window.show(); - } else { - window.add(box); - window.show_all(); - } + dialog._previewEffect(effect); }); } }); diff --git a/resources/img/scalable/actions/eye-open-symbolic.svg b/resources/img/scalable/actions/eye-open-symbolic.svg new file mode 100644 index 0000000..4fcae9e --- /dev/null +++ b/resources/img/scalable/actions/eye-open-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/resources/ui/gtk4/Apparition.ui b/resources/ui/gtk4/Apparition.ui index dccb962..fb737e8 100644 --- a/resources/ui/gtk4/Apparition.ui +++ b/resources/ui/gtk4/Apparition.ui @@ -7,254 +7,173 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 2000 + 100 + 10 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 2000 - 100 - 10 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Randomness - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Twirl Intensity - 0 - start - center - 1 - - - - - end - center - 1 - 1 - left - 300 - - - 10 - -10 - 0.1 - 1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Shake Intensity - 0 - start - center - 1 - - - - - end - center - 1 - 1 - left - 300 - - - 10 - 0 - 0.1 - 1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Suction Intensity - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Randomness + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Twirl Intensity + + + center + 1 + 1 + left + 300 + + + 10 + -10 + 0.1 + 1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Shake Intensity + + + center + 1 + 1 + left + 300 + + + 10 + 0 + 0.1 + 1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Suction Intensity + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/BrokenGlass.ui b/resources/ui/gtk4/BrokenGlass.ui index a17c8af..bd131e6 100644 --- a/resources/ui/gtk4/BrokenGlass.ui +++ b/resources/ui/gtk4/BrokenGlass.ui @@ -7,262 +7,163 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Scale - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 5 - 0.2 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Gravity - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 2.0 - -2.0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Blow Force - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 2.0 - -2.0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - vertical - 3 - - - Shatter From Pointer Location - 0 - start - center - 1 - - - - - The shards will fly away from where your mouse pointer was when closing the window. - 0 - start - center - 1 - 1 - - - - - - - - end - center - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 5 + 0.2 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Gravity + + + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Blow Force + + + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Shatter From Pointer Location + The shards will fly away from where your mouse pointer was when closing the window. + broken-glass-use-pointer + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/Doom.ui b/resources/ui/gtk4/Doom.ui index 13401c5..8467aa6 100644 --- a/resources/ui/gtk4/Doom.ui +++ b/resources/ui/gtk4/Doom.ui @@ -7,208 +7,139 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Horizontal Scale - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Vertical Scale - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Pixel Size - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Horizontal Scale + + + center + 1 + 2 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Vertical Scale + + + center + 1 + 2 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/EnergizeA.ui b/resources/ui/gtk4/EnergizeA.ui index 166f493..fb0b196 100644 --- a/resources/ui/gtk4/EnergizeA.ui +++ b/resources/ui/gtk4/EnergizeA.ui @@ -7,150 +7,98 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 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 - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + energize-a-color + + + center + 250 + 0 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/EnergizeB.ui b/resources/ui/gtk4/EnergizeB.ui index 1e6e296..58b4ae2 100644 --- a/resources/ui/gtk4/EnergizeB.ui +++ b/resources/ui/gtk4/EnergizeB.ui @@ -7,150 +7,99 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 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 - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + energize-b-color + + + center + 250 + 0 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/Fire.ui b/resources/ui/gtk4/Fire.ui index 724c882..b424437 100644 --- a/resources/ui/gtk4/Fire.ui +++ b/resources/ui/gtk4/Fire.ui @@ -7,293 +7,199 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - - 20 + + Presets + fire-preset-button - - none - 1 + + center + Choose a Preset + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 3 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Speed + + + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + 3D Noise + Creates a more dynamic fire but requires more GPU power. + flame-3d-noise + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Gradient + + + - - 0 - - - - - Presets - 0 - start - center - 1 - - - - - Choose a Preset - - - - + + 1 + 1 + center - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + 1 + 1 + center - - - 0 - - - - - Scale - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 3 - 0.1 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + 1 + 1 + center - - - 0 - - - - - Speed - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 2.0 - -2.0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + 1 + 1 + center - - - 0 - - - - - vertical - 3 - - - 3D Noise - 0 - start - center - 1 - - - - - Creates a more dynamic fire but requires more GPU power. - 0 - start - center - 1 - - - - - - - - end - center - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + 1 + 1 + center - - - - 0 - - - - - Gradient - 0 - start - center - 1 - - - - - 1 - 1 - - - - - 1 - 1 - - - - - 1 - 1 - - - - - 1 - 1 - - - - - 1 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + + + edit-clear-symbolic + center + Reset to Default Value + diff --git a/resources/ui/gtk4/Glide.ui b/resources/ui/gtk4/Glide.ui index d780347..08ad052 100644 --- a/resources/ui/gtk4/Glide.ui +++ b/resources/ui/gtk4/Glide.ui @@ -7,209 +7,139 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 2000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 2000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Scale - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1 - 0.1 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Squish - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Tilt - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1 - -1 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 1 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Squish + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Tilt + + + center + 1 + 2 + left + 300 + + + 1 + -1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/Hexagon.ui b/resources/ui/gtk4/Hexagon.ui index f0507bc..40ccddf 100644 --- a/resources/ui/gtk4/Hexagon.ui +++ b/resources/ui/gtk4/Hexagon.ui @@ -7,283 +7,179 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 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 - - - - - Mesh Line Width - 0 - start - center - 1 - - - - - end - center - 1 - 1 - left - 300 - - - 10 - 0 - 0.1 - 1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Line Color - 0 - start - center - 1 - - - - - 1 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Glow Color - 0 - start - center - 1 - - - - - 1 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - vertical - 3 - - - Additive Blending - 0 - start - center - 1 - - - - - You may want to enable this for dark window themes. - 0 - start - center - 1 - - - - - - - - end - center - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Mesh Line Width + + + center + 1 + 1 + left + 300 + + + 10 + 0 + 0.1 + 1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Line Color + hexagon-line-color + + + 1 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Glow Color + hexagon-glow-color + + + 1 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Additive Blending + You may want to enable this for dark window themes. + hexagon-additive-blending + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/Incinerate.ui b/resources/ui/gtk4/Incinerate.ui index 4d847cb..b2cc0df 100644 --- a/resources/ui/gtk4/Incinerate.ui +++ b/resources/ui/gtk4/Incinerate.ui @@ -7,249 +7,154 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 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 - - - - - Turbulence - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - vertical - 3 - - - Start at Pointer - 0 - start - center - 1 - - - - - If disabled, a random location will be chosen. - 0 - start - center - 1 - - - - - - - - end - center - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Color - 0 - start - center - 1 - - - - - 0 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Turbulence + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Start at Pointer + If disabled, a random location will be chosen. + incinerate-use-pointer + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + incinerate-color + + + 0 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/Matrix.ui b/resources/ui/gtk4/Matrix.ui index 22bbc78..5391e98 100644 --- a/resources/ui/gtk4/Matrix.ui +++ b/resources/ui/gtk4/Matrix.ui @@ -7,272 +7,185 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + + Scale + + + center + 1 + 0 + left + 300 + + + 50 + 5 + 1 + 5 - + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + - - - 0 - - - - - Scale - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 50 - 5 - 1 - 5 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + + Randomness + + + center + 1 + 2 + left + 300 + + + 1.0 + 0.0 + 0.01 + 0.1 - + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + - - - 0 - - - - - Randomness - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1.0 - 0.0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + + Vertical Overshooting + + + center + 1 + 2 + left + 300 + + + 1.0 + 0.0 + 0.01 + 0.1 - - - - - 0 - - - - - Vertical Overshooting - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1.0 - 0.0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Trail Color - 0 - start - center - 1 - - - - - 0 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Tip Color - 0 - start - center - 1 - - - - - 0 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + Trail Color + matrix-trail-color + + + 0 + center + 250 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + Tip Color + matrix-tip-color + + + 0 + center + 250 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + diff --git a/resources/ui/gtk4/PixelWheel.ui b/resources/ui/gtk4/PixelWheel.ui index 32b9a77..d5edb3a 100644 --- a/resources/ui/gtk4/PixelWheel.ui +++ b/resources/ui/gtk4/PixelWheel.ui @@ -7,162 +7,106 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 2000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 2000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Spoke Count - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Pixel Size - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Spoke Count + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/PixelWipe.ui b/resources/ui/gtk4/PixelWipe.ui index 10e01aa..f29c16f 100644 --- a/resources/ui/gtk4/PixelWipe.ui +++ b/resources/ui/gtk4/PixelWipe.ui @@ -7,116 +7,73 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 5000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 5000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Pixel Size - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/Pixelate.ui b/resources/ui/gtk4/Pixelate.ui index 53d070a..04f216e 100644 --- a/resources/ui/gtk4/Pixelate.ui +++ b/resources/ui/gtk4/Pixelate.ui @@ -7,162 +7,106 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Noise - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 100 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Pixel Size - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Noise + + + center + 1 + 0 + left + 300 + + + 100 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/SnapOfDisintegration.ui b/resources/ui/gtk4/SnapOfDisintegration.ui index 7d5e79f..0f19009 100644 --- a/resources/ui/gtk4/SnapOfDisintegration.ui +++ b/resources/ui/gtk4/SnapOfDisintegration.ui @@ -7,150 +7,98 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 500 + 10 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 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 - - - 20 - 0.1 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Color - 0 - start - center - 1 - - - - - 1 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 20 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + snap-color + + + 250 + center + 1 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/TRexAttack.ui b/resources/ui/gtk4/TRexAttack.ui index 30cd0b5..a5532f4 100644 --- a/resources/ui/gtk4/TRexAttack.ui +++ b/resources/ui/gtk4/TRexAttack.ui @@ -7,237 +7,160 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + + Claw Scratch Scale + + + center + 1 + 1 + left + 300 + + + 10 + 0.1 + 0.1 + 1 - + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + - - - 0 - - - - - Claw Scratch Scale - 0 - start - center - 1 - - - - - end - center - 1 - 1 - left - 300 - - - 10 - 0.1 - 0.1 - 1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + + Claw Scratch Count + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 - + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + - - - 0 - - - - - Claw Scratch Count - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - + + + Warp Effect + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 - - - - - 0 - - - - - Warp Effect - 0 - start - center - 1 - - - - - end - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Flash Color - 0 - start - center - 1 - - - - - 1 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + Flash Color + claw-scratch-color + + + 1 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + diff --git a/resources/ui/gtk4/TVEffect.ui b/resources/ui/gtk4/TVEffect.ui index 48babef..fc3d1e8 100644 --- a/resources/ui/gtk4/TVEffect.ui +++ b/resources/ui/gtk4/TVEffect.ui @@ -7,104 +7,65 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Color - 0 - start - center - 1 - - - - - 0 - 1 - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + Color + tv-effect-color + + + 0 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/Wisps.ui b/resources/ui/gtk4/Wisps.ui index 6acd526..788e668 100644 --- a/resources/ui/gtk4/Wisps.ui +++ b/resources/ui/gtk4/Wisps.ui @@ -7,150 +7,98 @@ SPDX-License-Identifier: GPL-3.0-or-later - - vertical + - + + Animation Time [ms] - - none - 1 + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value - - - - 0 - - - - - Animation Time [ms] - 0 - start - center - 1 - - - - - end - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 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 - - - - - - - - + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + wisps-color + + + 0 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + diff --git a/resources/ui/gtk4/effectPage.ui b/resources/ui/gtk4/effectPage.ui deleted file mode 100644 index 72af3d3..0000000 --- a/resources/ui/gtk4/effectPage.ui +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/resources/ui/gtk4/prefs.ui b/resources/ui/gtk4/prefs.ui index 20b043e..b32f334 100644 --- a/resources/ui/gtk4/prefs.ui +++ b/resources/ui/gtk4/prefs.ui @@ -48,174 +48,52 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + - - none - 1 - - - + + Also Add Effects to Dialogs + destroy-dialogs - - 0 - - - - - vertical - 3 - - - Open Window Animation - 0 - start - center - 1 - - - - - If multiple are selected, one is chosen randomly. - 0 - start - center - 1 - - - - - - - - Choose Effects - open-effect-menu - - - - + + center - - - 0 - - - - - vertical - 3 - - - Close Window Animation - 0 - start - center - 1 - - - - - If multiple are selected, one is chosen randomly. - 0 - start - center - 1 - - - - - - - - Choose Effects - close-effect-menu - - - - + + edit-clear-symbolic + center + Reset to Default Value + - - - - 0 - - - - - Also Add Effects to Dialogs - 0 - start - center - 1 - - - - - end - center - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - - - - 0 - - - - - Disable on Battery Power - 0 - start - center - 1 - - - - - end - center - - - - - edit-clear-symbolic - Reset to Default Value - - - - - - - - + + + + Disable on Battery Power + disable-on-battery + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + From f83cb43ee6f3eea0f71c601e81b1dcaafb2ac5fa Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Sun, 6 Nov 2022 20:15:48 +0100 Subject: [PATCH 2/9] :wrench: Make effect expander rows behave like an accordion --- prefs.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/prefs.js b/prefs.js index 9473d96..638ebe7 100644 --- a/prefs.js +++ b/prefs.js @@ -120,14 +120,31 @@ var PreferencesDialog = class PreferencesDialog { const group = new Adw.PreferencesGroup({title: _('Effect Options')}); this.gtkBoxAppend(this._widget, group); + // This stores all expander rows for the effects. We use this to implement the + // accordion-functionality of the effect settings. + this._effectRows = []; + this._ALL_EFFECTS.forEach(effect => { const [minMajor, minMinor] = effect.getMinShellVersion(); if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { const row = effect.getPreferences(this); row.set_title(effect.getLabel()); + // Un-expand any previously expanded effect row. This way we ensure that there + // is only one expanded row at any time. + row.connect('notify::expanded', (currentRow) => { + if (currentRow.get_expanded()) { + this._effectRows.forEach(row => { + if (row != currentRow) { + row.set_expanded(false); + } + }); + } + }); + + // Show a preview of the effect with a button in the effect row. const previewButton = Gtk.Button.new_from_icon_name('eye-open-symbolic'); - previewButton.add_css_class('flat'); + previewButton.add_css_class('circular'); previewButton.set_tooltip_text(_('Preview this Effect')); previewButton.set_valign(Gtk.Align.CENTER); row.add_prefix(previewButton); @@ -137,6 +154,8 @@ var PreferencesDialog = class PreferencesDialog { }); group.add(row); + + this._effectRows.push(row); } }); From 463722131d0b84f08c39b9314dd514b7826366fe Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Mon, 7 Nov 2022 05:25:50 +0100 Subject: [PATCH 3/9] :wrench: Tweak button layout --- prefs.js | 88 ++++++++++++++----- ...-symbolic.svg => bmw-preview-symbolic.svg} | 0 .../actions/bmw-window-close-symbolic.svg | 50 +++++++++++ .../actions/bmw-window-open-symbolic.svg | 49 +++++++++++ resources/ui/gtk3/effectPage.ui | 2 +- resources/ui/gtk4/prefs.ui | 5 +- 6 files changed, 165 insertions(+), 29 deletions(-) rename resources/img/scalable/actions/{eye-open-symbolic.svg => bmw-preview-symbolic.svg} (100%) create mode 100644 resources/img/scalable/actions/bmw-window-close-symbolic.svg create mode 100644 resources/img/scalable/actions/bmw-window-open-symbolic.svg diff --git a/prefs.js b/prefs.js index 638ebe7..0903c0b 100644 --- a/prefs.js +++ b/prefs.js @@ -116,23 +116,25 @@ var PreferencesDialog = class PreferencesDialog { const generalPrefs = this._builder.get_object('general-prefs'); this.gtkBoxAppend(this._widget, generalPrefs); - // Then add a preferences group with expander rows. - const group = new Adw.PreferencesGroup({title: _('Effect Options')}); + // Then add a preferences group for the effect expander rows. + const group = new Adw.PreferencesGroup({title: _('Effects')}); this.gtkBoxAppend(this._widget, group); // This stores all expander rows for the effects. We use this to implement the // accordion-functionality of the effect settings. this._effectRows = []; + // Now add all the rows. this._ALL_EFFECTS.forEach(effect => { const [minMajor, minMinor] = effect.getMinShellVersion(); if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { const row = effect.getPreferences(this); - row.set_title(effect.getLabel()); + row.set_title('' + effect.getLabel() + ''); + row.set_use_markup(true); // Un-expand any previously expanded effect row. This way we ensure that there // is only one expanded row at any time. - row.connect('notify::expanded', (currentRow) => { + row.connect('notify::expanded', currentRow => { if (currentRow.get_expanded()) { this._effectRows.forEach(row => { if (row != currentRow) { @@ -142,17 +144,53 @@ var PreferencesDialog = class PreferencesDialog { } }); - // Show a preview of the effect with a button in the effect row. - const previewButton = Gtk.Button.new_from_icon_name('eye-open-symbolic'); + // Add three buttons on the right. + const box = new Gtk.Box(); + box.set_spacing(8); + + // The preview button. + const previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic'); previewButton.add_css_class('circular'); - previewButton.set_tooltip_text(_('Preview this Effect')); + previewButton.add_css_class('flat'); + previewButton.set_tooltip_text(_('Preview this effect')); previewButton.set_valign(Gtk.Align.CENTER); - row.add_prefix(previewButton); + box.append(previewButton); previewButton.connect('clicked', () => { this._previewEffect(effect); }); + // Now add the two toggle buttons for enabling and disabling the effect. + const addToggle = (action, tooltip) => { + const button = Gtk.ToggleButton.new(); + button.set_action_name( + `${action}-effects.${effect.getNick()}-${action}-effect`); + button.set_child( + Gtk.Image.new_from_icon_name(`bmw-window-${action}-symbolic`)); + button.set_tooltip_text(tooltip); + button.set_valign(Gtk.Align.CENTER); + + // We switch some class when the button is enabled in order to make it more + // apparent which effects are currently in use. + button.add_css_class('circular'); + button.add_css_class('flat'); + button.connect('toggled', button => { + if (button.active) { + button.add_css_class('suggested-action'); + button.remove_css_class('flat'); + } else { + button.remove_css_class('suggested-action'); + button.add_css_class('flat'); + } + }); + + box.append(button); + }; + + addToggle('open', _('Use this effect when opening windows')); + addToggle('close', _('Use this effect when closing windows')); + + row.add_action(box); group.add(row); this._effectRows.push(row); @@ -294,44 +332,46 @@ var PreferencesDialog = class PreferencesDialog { // Populate the open-effects drop-down menu. { - const menu = this._builder.get_object('open-effect-menu'); const group = Gio.SimpleActionGroup.new(); window.insert_action_group('open-effects', group); this._ALL_EFFECTS.forEach(effect => { const [minMajor, minMinor] = effect.getMinShellVersion(); if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { - const nick = effect.getNick(); - const label = effect.getLabel(); - const actionName = nick + '-open-effect'; - const fullName = 'open-effects.' + actionName; - - const action = this._settings.create_action(actionName); + const actionName = effect.getNick() + '-open-effect'; + const action = this._settings.create_action(actionName); group.add_action(action); - menu.append_item(Gio.MenuItem.new(label, fullName)); + // The menu only exists on GTK3. On GTK4, individual ToggleButtons are used + // for triggering the above actions. + if (!utils.isGTK4()) { + const menu = this._builder.get_object('open-effect-menu'); + const label = effect.getLabel(); + menu.append_item(Gio.MenuItem.new(label, 'open-effects.' + actionName)); + } } }); } // Populate the close-effects drop-down menu. { - const menu = this._builder.get_object('close-effect-menu'); const group = Gio.SimpleActionGroup.new(); window.insert_action_group('close-effects', group); this._ALL_EFFECTS.forEach(effect => { const [minMajor, minMinor] = effect.getMinShellVersion(); if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { - const nick = effect.getNick(); - const label = effect.getLabel(); - const actionName = nick + '-close-effect'; - const fullName = 'close-effects.' + actionName; - - const action = this._settings.create_action(actionName); + const actionName = effect.getNick() + '-close-effect'; + const action = this._settings.create_action(actionName); group.add_action(action); - menu.append_item(Gio.MenuItem.new(label, fullName)); + // The menu only exists on GTK3. On GTK4, individual ToggleButtons are used + // for triggering the above actions. + if (!utils.isGTK4()) { + const menu = this._builder.get_object('close-effect-menu'); + const label = effect.getLabel(); + menu.append_item(Gio.MenuItem.new(label, 'close-effects.' + actionName)); + } } }); } diff --git a/resources/img/scalable/actions/eye-open-symbolic.svg b/resources/img/scalable/actions/bmw-preview-symbolic.svg similarity index 100% rename from resources/img/scalable/actions/eye-open-symbolic.svg rename to resources/img/scalable/actions/bmw-preview-symbolic.svg diff --git a/resources/img/scalable/actions/bmw-window-close-symbolic.svg b/resources/img/scalable/actions/bmw-window-close-symbolic.svg new file mode 100644 index 0000000..4103cc8 --- /dev/null +++ b/resources/img/scalable/actions/bmw-window-close-symbolic.svg @@ -0,0 +1,50 @@ + + + + + + + + + diff --git a/resources/img/scalable/actions/bmw-window-open-symbolic.svg b/resources/img/scalable/actions/bmw-window-open-symbolic.svg new file mode 100644 index 0000000..f40dbe5 --- /dev/null +++ b/resources/img/scalable/actions/bmw-window-open-symbolic.svg @@ -0,0 +1,49 @@ + + + + + + + + + diff --git a/resources/ui/gtk3/effectPage.ui b/resources/ui/gtk3/effectPage.ui index 26dabd3..927a8d2 100644 --- a/resources/ui/gtk3/effectPage.ui +++ b/resources/ui/gtk3/effectPage.ui @@ -40,7 +40,7 @@ SPDX-License-Identifier: GPL-3.0-or-later start - Preview this Effect + Preview this effect diff --git a/resources/ui/gtk4/prefs.ui b/resources/ui/gtk4/prefs.ui index b32f334..ba9e1af 100644 --- a/resources/ui/gtk4/prefs.ui +++ b/resources/ui/gtk4/prefs.ui @@ -8,9 +8,6 @@ SPDX-License-Identifier: GPL-3.0-or-later - - - main-menu open-menu-symbolic @@ -19,7 +16,7 @@ SPDX-License-Identifier: GPL-3.0-or-later vertical 60 - 60 + 20 From 3e902cbf37b352418cfc00838b10ff1de0a3d39d Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Mon, 7 Nov 2022 05:46:59 +0100 Subject: [PATCH 4/9] :wrench: Fix for GNOME Shell 42 --- prefs.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/prefs.js b/prefs.js index 0903c0b..b18f43d 100644 --- a/prefs.js +++ b/prefs.js @@ -129,8 +129,15 @@ var PreferencesDialog = class PreferencesDialog { const [minMajor, minMinor] = effect.getMinShellVersion(); if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { const row = effect.getPreferences(this); - row.set_title('' + effect.getLabel() + ''); - row.set_use_markup(true); + + // On older versions of Adw (e.g. on GNOME Shell <43), the set_use_markup() does + // not yet exist. + if (row.set_use_markup) { + row.set_title('' + effect.getLabel() + ''); + row.set_use_markup(true); + } else { + row.set_title(effect.getLabel()); + } // Un-expand any previously expanded effect row. This way we ensure that there // is only one expanded row at any time. From f4ebfddfa836ba466af838df15280f5ed2eb8159 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Mon, 7 Nov 2022 06:12:21 +0100 Subject: [PATCH 5/9] :wrench: Add separate ui files for adw and gtk4 --- docs/how-to-create-new-effects.md | 142 ++++++- prefs.js | 67 +++- resources/ui/adw/Apparition.ui | 180 +++++++++ resources/ui/adw/BrokenGlass.ui | 170 +++++++++ resources/ui/adw/Doom.ui | 146 ++++++++ resources/ui/adw/EnergizeA.ui | 105 ++++++ resources/ui/adw/EnergizeB.ui | 106 ++++++ resources/ui/adw/Fire.ui | 209 +++++++++++ resources/ui/adw/Glide.ui | 146 ++++++++ resources/ui/adw/Hexagon.ui | 186 +++++++++ resources/ui/adw/Incinerate.ui | 161 ++++++++ resources/ui/adw/Matrix.ui | 195 ++++++++++ resources/ui/adw/PixelWheel.ui | 113 ++++++ resources/ui/adw/PixelWipe.ui | 80 ++++ resources/ui/adw/Pixelate.ui | 113 ++++++ resources/ui/adw/SnapOfDisintegration.ui | 105 ++++++ resources/ui/adw/TRexAttack.ui | 171 +++++++++ resources/ui/adw/TVEffect.ui | 72 ++++ resources/ui/adw/Wisps.ui | 105 ++++++ resources/ui/adw/prefs.ui | 99 +++++ resources/ui/gtk4/Apparition.ui | 395 +++++++++++-------- resources/ui/gtk4/BrokenGlass.ui | 383 ++++++++++++------- resources/ui/gtk4/Doom.ui | 315 ++++++++++------ resources/ui/gtk4/EnergizeA.ui | 214 +++++++---- resources/ui/gtk4/EnergizeB.ui | 215 +++++++---- resources/ui/gtk4/Fire.ui | 438 +++++++++++++--------- resources/ui/gtk4/Glide.ui | 316 ++++++++++------ resources/ui/gtk4/Hexagon.ui | 424 +++++++++++++-------- resources/ui/gtk4/Incinerate.ui | 365 +++++++++++------- resources/ui/gtk4/Matrix.ui | 421 ++++++++++++--------- resources/ui/gtk4/PixelWheel.ui | 236 +++++++----- resources/ui/gtk4/PixelWipe.ui | 157 +++++--- resources/ui/gtk4/Pixelate.ui | 236 +++++++----- resources/ui/gtk4/SnapOfDisintegration.ui | 214 +++++++---- resources/ui/gtk4/TRexAttack.ui | 363 +++++++++++------- resources/ui/gtk4/TVEffect.ui | 139 ++++--- resources/ui/gtk4/Wisps.ui | 214 +++++++---- resources/ui/gtk4/effectPage.ui | 59 +++ resources/ui/gtk4/prefs.ui | 201 ++++++++-- src/Apparition.js | 2 +- src/BrokenGlass.js | 2 +- src/Doom.js | 2 +- src/EnergizeA.js | 2 +- src/EnergizeB.js | 2 +- src/Fire.js | 2 +- src/Glide.js | 2 +- src/Hexagon.js | 2 +- src/Incinerate.js | 2 +- src/Matrix.js | 2 +- src/PixelWheel.js | 2 +- src/PixelWipe.js | 2 +- src/Pixelate.js | 2 +- src/SnapOfDisintegration.js | 3 +- src/TRexAttack.js | 2 +- src/TVEffect.js | 2 +- src/Wisps.js | 2 +- src/utils.js | 21 +- 57 files changed, 6033 insertions(+), 1999 deletions(-) create mode 100644 resources/ui/adw/Apparition.ui create mode 100644 resources/ui/adw/BrokenGlass.ui create mode 100644 resources/ui/adw/Doom.ui create mode 100644 resources/ui/adw/EnergizeA.ui create mode 100644 resources/ui/adw/EnergizeB.ui create mode 100644 resources/ui/adw/Fire.ui create mode 100644 resources/ui/adw/Glide.ui create mode 100644 resources/ui/adw/Hexagon.ui create mode 100644 resources/ui/adw/Incinerate.ui create mode 100644 resources/ui/adw/Matrix.ui create mode 100644 resources/ui/adw/PixelWheel.ui create mode 100644 resources/ui/adw/PixelWipe.ui create mode 100644 resources/ui/adw/Pixelate.ui create mode 100644 resources/ui/adw/SnapOfDisintegration.ui create mode 100644 resources/ui/adw/TRexAttack.ui create mode 100644 resources/ui/adw/TVEffect.ui create mode 100644 resources/ui/adw/Wisps.ui create mode 100644 resources/ui/adw/prefs.ui create mode 100644 resources/ui/gtk4/effectPage.ui diff --git a/docs/how-to-create-new-effects.md b/docs/how-to-create-new-effects.md index d640f24..3452fa1 100644 --- a/docs/how-to-create-new-effects.md +++ b/docs/how-to-create-new-effects.md @@ -268,12 +268,12 @@ gnome-extensions prefs burn-my-windows@schneegans.github.com There should be two sliders in this example: The animation duration and the width of the fading gradient. -If your effect supports GNOME Shell 3.3x _and_ GNOME Shell 40+, you will have to provide two `*.ui` files for this. +If your effect supports GNOME Shell 3.3x _and_ GNOME Shell 40+, you will have to provide three `*.ui` files for this. This is because starting with GNOME Shell 40, the preference dialog uses GTK4, before it used to use GTK3. -Usually, there are only a few minor differences between the two files. +Starting with GNOME Shell 42, it uses `libadwaita` which requires different UI files again. We will load the respective file in the `getPreferences()` method of your new effect class. -Just save the code below to `resources/ui/gtk3/SimpleFade.ui` and `resources/ui/gtk4/SimpleFade.ui` respectively. +Just save the code below to `resources/ui/gtk3/SimpleFade.ui`, `resources/ui/gtk4/SimpleFade.ui`, and `resources/ui/adw/SimpleFade.ui` respectively. Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
@@ -423,6 +423,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
+ + +
Expand this to show the GTK4 code. @@ -434,6 +437,137 @@ SPDX-FileCopyrightText: Your Name SPDX-License-Identifier: GPL-3.0-or-later --> + + + + 5000 + 100 + 10 + 100 + + + + 1 + 0 + 0.01 + 0.1 + + + + vertical + + + + + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + simple-fade-animation-time + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Fade Width + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + simple-fade-width + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + + + + + + +``` + +
+ + +
+ Expand this to show the libadwaita code. + +```xml + + + + @@ -519,7 +653,7 @@ In order to load the above `*.ui` files, add the following code to your effect's static getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/SimpleFade.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/SimpleFade.ui`); // These connect the settings to the UI elements. Have a look at prefs.js // on how to bind other types of UI elements. diff --git a/prefs.js b/prefs.js index b18f43d..01b1de1 100644 --- a/prefs.js +++ b/prefs.js @@ -97,7 +97,7 @@ var PreferencesDialog = class PreferencesDialog { // Load the general user interface files. this._builder = new Gtk.Builder(); this._builder.add_from_resource(`/ui/common/main-menu.ui`); - this._builder.add_from_resource(`/ui/${utils.getGTKString()}/prefs.ui`); + this._builder.add_from_resource(`/ui/${utils.getUIDir()}/prefs.ui`); // Bind general options properties. this.bindSwitch('destroy-dialogs'); @@ -107,7 +107,7 @@ var PreferencesDialog = class PreferencesDialog { // the time - it seems that pop!_OS does not support libadwaita even on GNOME 42). We // have to use a different layout, as the stack sidebar looks pretty ugly with the // included Adw.Clamp... - if (Adw && utils.shellVersionIsAtLeast(42, 'beta')) { + if (utils.isADW()) { // This is our top-level widget which we will return later. this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL}); @@ -204,6 +204,67 @@ var PreferencesDialog = class PreferencesDialog { } }); + } else if (utils.isGTK4()) { + // This is our top-level widget which we will return later. + this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL}); + + // Add the general options page to the settings dialog. + const generalPrefs = this._builder.get_object('general-prefs'); + this.gtkBoxAppend(this._widget, generalPrefs); + + // Then add a preferences group with action rows to open the effect subpages. + const group = new Adw.PreferencesGroup({title: _('Effects')}); + this.gtkBoxAppend(this._widget, group); + + this._ALL_EFFECTS.forEach(effect => { + const [minMajor, minMinor] = effect.getMinShellVersion(); + if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { + + const row = new Adw.ActionRow({title: effect.getLabel(), activatable: true}); + row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'})); + + // Open a subpage with the effect's settings. + row.connect('activated', () => { + const page = new BurnMyWindowsEffectPage(effect, this); + page.valign = Gtk.Align.CENTER; + page.margin_top = 10; + page.margin_bottom = 10; + page.margin_start = 10; + page.margin_end = 10; + + // Add the effect's preferences (if any). + const preferences = effect.getPreferences(this); + if (preferences) { + this.gtkBoxAppend(page, preferences); + } + + // Add a button for back navigation. + const backButton = new Gtk.Button({ + halign: Gtk.Align.CENTER, + label: _('Go Back'), + }); + backButton.add_css_class('suggested-action'); + backButton.add_css_class('pill-button'); + backButton.connect('clicked', () => { + row.get_root().close_subpage(); + }); + + this.gtkBoxAppend(page, backButton); + + // Wrap the preferences group in an Adw.Clamp. + const clamp = new Adw.Clamp({ + child: page, + maximum_size: 600, + tightening_threshold: 400, + }); + + // Open the subpage on click. + row.get_root().present_subpage(clamp); + }); + + group.add(row); + } + }); } // On older GNOME versions, we use a StackSidebar. else { @@ -580,7 +641,7 @@ var PreferencesDialog = class PreferencesDialog { // On GTK3, each effect page is based on a template widget. This template contains the // title and the preview button. - if (!utils.isGTK4() && GObject.type_from_name('BurnMyWindowsEffectPage') == null) { + if (!utils.isADW() && GObject.type_from_name('BurnMyWindowsEffectPage') == null) { BurnMyWindowsEffectPage = GObject.registerClass( { GTypeName: 'BurnMyWindowsEffectPage', diff --git a/resources/ui/adw/Apparition.ui b/resources/ui/adw/Apparition.ui new file mode 100644 index 0000000..fb737e8 --- /dev/null +++ b/resources/ui/adw/Apparition.ui @@ -0,0 +1,180 @@ + + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 2000 + 100 + 10 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Randomness + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Twirl Intensity + + + center + 1 + 1 + left + 300 + + + 10 + -10 + 0.1 + 1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Shake Intensity + + + center + 1 + 1 + left + 300 + + + 10 + 0 + 0.1 + 1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Suction Intensity + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/BrokenGlass.ui b/resources/ui/adw/BrokenGlass.ui new file mode 100644 index 0000000..bd131e6 --- /dev/null +++ b/resources/ui/adw/BrokenGlass.ui @@ -0,0 +1,170 @@ + + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 5 + 0.2 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Gravity + + + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Blow Force + + + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Shatter From Pointer Location + The shards will fly away from where your mouse pointer was when closing the window. + broken-glass-use-pointer + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Doom.ui b/resources/ui/adw/Doom.ui new file mode 100644 index 0000000..8467aa6 --- /dev/null +++ b/resources/ui/adw/Doom.ui @@ -0,0 +1,146 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Horizontal Scale + + + center + 1 + 2 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Vertical Scale + + + center + 1 + 2 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/EnergizeA.ui b/resources/ui/adw/EnergizeA.ui new file mode 100644 index 0000000..fb0b196 --- /dev/null +++ b/resources/ui/adw/EnergizeA.ui @@ -0,0 +1,105 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + energize-a-color + + + center + 250 + 0 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/EnergizeB.ui b/resources/ui/adw/EnergizeB.ui new file mode 100644 index 0000000..58b4ae2 --- /dev/null +++ b/resources/ui/adw/EnergizeB.ui @@ -0,0 +1,106 @@ + + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + energize-b-color + + + center + 250 + 0 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Fire.ui b/resources/ui/adw/Fire.ui new file mode 100644 index 0000000..b424437 --- /dev/null +++ b/resources/ui/adw/Fire.ui @@ -0,0 +1,209 @@ + + + + + + + + + + + Presets + fire-preset-button + + + center + Choose a Preset + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 3 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Speed + + + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + 3D Noise + Creates a more dynamic fire but requires more GPU power. + flame-3d-noise + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Gradient + + + + + + 1 + 1 + center + + + + + 1 + 1 + center + + + + + 1 + 1 + center + + + + + 1 + 1 + center + + + + + 1 + 1 + center + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Glide.ui b/resources/ui/adw/Glide.ui new file mode 100644 index 0000000..08ad052 --- /dev/null +++ b/resources/ui/adw/Glide.ui @@ -0,0 +1,146 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 2000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 1 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Squish + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Tilt + + + center + 1 + 2 + left + 300 + + + 1 + -1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Hexagon.ui b/resources/ui/adw/Hexagon.ui new file mode 100644 index 0000000..40ccddf --- /dev/null +++ b/resources/ui/adw/Hexagon.ui @@ -0,0 +1,186 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Mesh Line Width + + + center + 1 + 1 + left + 300 + + + 10 + 0 + 0.1 + 1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Line Color + hexagon-line-color + + + 1 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Glow Color + hexagon-glow-color + + + 1 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Additive Blending + You may want to enable this for dark window themes. + hexagon-additive-blending + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Incinerate.ui b/resources/ui/adw/Incinerate.ui new file mode 100644 index 0000000..b2cc0df --- /dev/null +++ b/resources/ui/adw/Incinerate.ui @@ -0,0 +1,161 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Turbulence + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Start at Pointer + If disabled, a random location will be chosen. + incinerate-use-pointer + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + incinerate-color + + + 0 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Matrix.ui b/resources/ui/adw/Matrix.ui new file mode 100644 index 0000000..5391e98 --- /dev/null +++ b/resources/ui/adw/Matrix.ui @@ -0,0 +1,195 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 0 + left + 300 + + + 50 + 5 + 1 + 5 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Randomness + + + center + 1 + 2 + left + 300 + + + 1.0 + 0.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Vertical Overshooting + + + center + 1 + 2 + left + 300 + + + 1.0 + 0.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Trail Color + matrix-trail-color + + + 0 + center + 250 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Tip Color + matrix-tip-color + + + 0 + center + 250 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/PixelWheel.ui b/resources/ui/adw/PixelWheel.ui new file mode 100644 index 0000000..d5edb3a --- /dev/null +++ b/resources/ui/adw/PixelWheel.ui @@ -0,0 +1,113 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 2000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Spoke Count + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/PixelWipe.ui b/resources/ui/adw/PixelWipe.ui new file mode 100644 index 0000000..f29c16f --- /dev/null +++ b/resources/ui/adw/PixelWipe.ui @@ -0,0 +1,80 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 5000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Pixelate.ui b/resources/ui/adw/Pixelate.ui new file mode 100644 index 0000000..04f216e --- /dev/null +++ b/resources/ui/adw/Pixelate.ui @@ -0,0 +1,113 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Noise + + + center + 1 + 0 + left + 300 + + + 100 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Pixel Size + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/SnapOfDisintegration.ui b/resources/ui/adw/SnapOfDisintegration.ui new file mode 100644 index 0000000..0f19009 --- /dev/null +++ b/resources/ui/adw/SnapOfDisintegration.ui @@ -0,0 +1,105 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 500 + 10 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 20 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + snap-color + + + 250 + center + 1 + 1 + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/TRexAttack.ui b/resources/ui/adw/TRexAttack.ui new file mode 100644 index 0000000..a5532f4 --- /dev/null +++ b/resources/ui/adw/TRexAttack.ui @@ -0,0 +1,171 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Claw Scratch Scale + + + center + 1 + 1 + left + 300 + + + 10 + 0.1 + 0.1 + 1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Claw Scratch Count + + + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Warp Effect + + + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Flash Color + claw-scratch-color + + + 1 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/TVEffect.ui b/resources/ui/adw/TVEffect.ui new file mode 100644 index 0000000..fc3d1e8 --- /dev/null +++ b/resources/ui/adw/TVEffect.ui @@ -0,0 +1,72 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + tv-effect-color + + + 0 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/Wisps.ui b/resources/ui/adw/Wisps.ui new file mode 100644 index 0000000..788e668 --- /dev/null +++ b/resources/ui/adw/Wisps.ui @@ -0,0 +1,105 @@ + + + + + + + + + + + Animation Time [ms] + + + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Scale + + + center + 1 + 2 + left + 300 + + + 10 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Color + wisps-color + + + 0 + 1 + 250 + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/adw/prefs.ui b/resources/ui/adw/prefs.ui new file mode 100644 index 0000000..ba9e1af --- /dev/null +++ b/resources/ui/adw/prefs.ui @@ -0,0 +1,99 @@ + + + + + + + + + main-menu + open-menu-symbolic + + + + vertical + 60 + 20 + + + + center + burn-my-windows-symbolic + 128 + + + + + + Welcome to Burn-My-Windows! + 8 + 6 + + + + + + + If you like this extension, recommend it to your friends :) + 36 + + + + + + + + + Also Add Effects to Dialogs + destroy-dialogs + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + Disable on Battery Power + disable-on-battery + + + center + + + + + edit-clear-symbolic + center + Reset to Default Value + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/gtk4/Apparition.ui b/resources/ui/gtk4/Apparition.ui index fb737e8..dccb962 100644 --- a/resources/ui/gtk4/Apparition.ui +++ b/resources/ui/gtk4/Apparition.ui @@ -7,173 +7,254 @@ SPDX-License-Identifier: GPL-3.0-or-later - - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 2000 - 100 - 10 - 100 - - - - - - - edit-clear-symbolic - center - Reset to Default Value + + none + 1 + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 2000 + 100 + 10 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Randomness + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Twirl Intensity + 0 + start + center + 1 + + + + + end + center + 1 + 1 + left + 300 + + + 10 + -10 + 0.1 + 1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Shake Intensity + 0 + start + center + 1 + + + + + end + center + 1 + 1 + left + 300 + + + 10 + 0 + 0.1 + 1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Suction Intensity + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Randomness - - - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Twirl Intensity - - - center - 1 - 1 - left - 300 - - - 10 - -10 - 0.1 - 1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Shake Intensity - - - center - 1 - 1 - left - 300 - - - 10 - 0 - 0.1 - 1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Suction Intensity - - - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/BrokenGlass.ui b/resources/ui/gtk4/BrokenGlass.ui index bd131e6..a17c8af 100644 --- a/resources/ui/gtk4/BrokenGlass.ui +++ b/resources/ui/gtk4/BrokenGlass.ui @@ -7,163 +7,262 @@ SPDX-License-Identifier: GPL-3.0-or-later - - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 2 - left - 300 - - - 5 - 0.2 - 0.01 - 0.1 + + + 0 + + + + + Scale + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 5 + 0.2 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Gravity - - - center - 1 - 2 - left - 300 - - - 2.0 - -2.0 - 0.01 - 0.1 + + + 0 + + + + + Gravity + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Blow Force - - - center - 1 - 2 - left - 300 - - - 2.0 - -2.0 - 0.01 - 0.1 + + + 0 + + + + + Blow Force + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + vertical + 3 + + + Shatter From Pointer Location + 0 + start + center + 1 + + + + + The shards will fly away from where your mouse pointer was when closing the window. + 0 + start + center + 1 + 1 + + + + + + + + end + center + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Shatter From Pointer Location - The shards will fly away from where your mouse pointer was when closing the window. - broken-glass-use-pointer - - - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/Doom.ui b/resources/ui/gtk4/Doom.ui index 8467aa6..13401c5 100644 --- a/resources/ui/gtk4/Doom.ui +++ b/resources/ui/gtk4/Doom.ui @@ -7,139 +7,208 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - center - Reset to Default Value + + none + 1 + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Horizontal Scale + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Vertical Scale + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Pixel Size + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Horizontal Scale - - - center - 1 - 2 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Vertical Scale - - - center - 1 - 2 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Pixel Size - - - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/EnergizeA.ui b/resources/ui/gtk4/EnergizeA.ui index fb0b196..166f493 100644 --- a/resources/ui/gtk4/EnergizeA.ui +++ b/resources/ui/gtk4/EnergizeA.ui @@ -7,98 +7,150 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 2 - left - 300 - - - 10 - 0.1 - 0.01 - 0.1 + + + 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 + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + Color + 0 + start + center + 1 + + + + + 0 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Color - energize-a-color - - - center - 250 - 0 - 1 - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/EnergizeB.ui b/resources/ui/gtk4/EnergizeB.ui index 58b4ae2..1e6e296 100644 --- a/resources/ui/gtk4/EnergizeB.ui +++ b/resources/ui/gtk4/EnergizeB.ui @@ -7,99 +7,150 @@ SPDX-License-Identifier: GPL-3.0-or-later - - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 2 - left - 300 - - - 10 - 0.1 - 0.01 - 0.1 + + + 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 + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + Color + 0 + start + center + 1 + + + + + 0 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Color - energize-b-color - - - center - 250 - 0 - 1 - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/Fire.ui b/resources/ui/gtk4/Fire.ui index b424437..724c882 100644 --- a/resources/ui/gtk4/Fire.ui +++ b/resources/ui/gtk4/Fire.ui @@ -7,199 +7,293 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Presets - fire-preset-button + + 20 - - center - Choose a Preset + + none + 1 - - - - - - - Animation Time [ms] - - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Scale - - - center - 1 - 2 - left - 300 - - - 3 - 0.1 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Speed - - - center - 1 - 2 - left - 300 - - - 2.0 - -2.0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - 3D Noise - Creates a more dynamic fire but requires more GPU power. - flame-3d-noise - - - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Gradient - - - - - 1 - 1 - center + + 0 + + + + + Presets + 0 + start + center + 1 + + + + + Choose a Preset + + + + + - - 1 - 1 - center + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + - - 1 - 1 - center + + 0 + + + + + Scale + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 3 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + - - 1 - 1 - center + + 0 + + + + + Speed + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 2.0 + -2.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + - - 1 - 1 - center + + 0 + + + + + vertical + 3 + + + 3D Noise + 0 + start + center + 1 + + + + + Creates a more dynamic fire but requires more GPU power. + 0 + start + center + 1 + + + + + + + + end + center + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + 0 + + + + + Gradient + 0 + start + center + 1 + + + + + 1 + 1 + + + + + 1 + 1 + + + + + 1 + 1 + + + + + 1 + 1 + + + + + 1 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + diff --git a/resources/ui/gtk4/Glide.ui b/resources/ui/gtk4/Glide.ui index 08ad052..d780347 100644 --- a/resources/ui/gtk4/Glide.ui +++ b/resources/ui/gtk4/Glide.ui @@ -7,139 +7,209 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 2000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - center - Reset to Default Value + + none + 1 + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 2000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Scale + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Squish + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Tilt + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1 + -1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + - - - Scale - - - center - 1 - 2 - left - 300 - - - 1 - 0.1 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Squish - - - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Tilt - - - center - 1 - 2 - left - 300 - - - 1 - -1 - 0.01 - 0.1 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/Hexagon.ui b/resources/ui/gtk4/Hexagon.ui index 40ccddf..f0507bc 100644 --- a/resources/ui/gtk4/Hexagon.ui +++ b/resources/ui/gtk4/Hexagon.ui @@ -7,179 +7,283 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 2 - left - 300 - - - 10 - 0.1 - 0.01 - 0.1 + + + 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 + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Mesh Line Width - - - center - 1 - 1 - left - 300 - - - 10 - 0 - 0.1 - 1 + + + 0 + + + + + Mesh Line Width + 0 + start + center + 1 + + + + + end + center + 1 + 1 + left + 300 + + + 10 + 0 + 0.1 + 1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + Line Color + 0 + start + center + 1 + + + + + 1 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Glow Color + 0 + start + center + 1 + + + + + 1 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + vertical + 3 + + + Additive Blending + 0 + start + center + 1 + + + + + You may want to enable this for dark window themes. + 0 + start + center + 1 + + + + + + + + end + center + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Line Color - hexagon-line-color - - - 1 - 1 - 250 - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Glow Color - hexagon-glow-color - - - 1 - 1 - 250 - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Additive Blending - You may want to enable this for dark window themes. - hexagon-additive-blending - - - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/Incinerate.ui b/resources/ui/gtk4/Incinerate.ui index b2cc0df..4d847cb 100644 --- a/resources/ui/gtk4/Incinerate.ui +++ b/resources/ui/gtk4/Incinerate.ui @@ -7,154 +7,249 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 2 - left - 300 - - - 10 - 0.1 - 0.01 - 0.1 + + + 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 + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Turbulence - - - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 + + + 0 + + + + + Turbulence + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + vertical + 3 + + + Start at Pointer + 0 + start + center + 1 + + + + + If disabled, a random location will be chosen. + 0 + start + center + 1 + + + + + + + + end + center + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Color + 0 + start + center + 1 + + + + + 0 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Start at Pointer - If disabled, a random location will be chosen. - incinerate-use-pointer - - - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Color - incinerate-color - - - 0 - 1 - 250 - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/Matrix.ui b/resources/ui/gtk4/Matrix.ui index 5391e98..22bbc78 100644 --- a/resources/ui/gtk4/Matrix.ui +++ b/resources/ui/gtk4/Matrix.ui @@ -7,185 +7,272 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 0 - left - 300 - - - 50 - 5 - 1 - 5 + + + 0 + + + + + Scale + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 50 + 5 + 1 + 5 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Randomness - - - center - 1 - 2 - left - 300 - - - 1.0 - 0.0 - 0.01 - 0.1 + + + 0 + + + + + Randomness + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1.0 + 0.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Vertical Overshooting - - - center - 1 - 2 - left - 300 - - - 1.0 - 0.0 - 0.01 - 0.1 + + + 0 + + + + + Vertical Overshooting + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1.0 + 0.0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + + + + + 0 + + + + + Trail Color + 0 + start + center + 1 + + + + + 0 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Tip Color + 0 + start + center + 1 + + + + + 0 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + - - - Trail Color - matrix-trail-color - - - 0 - center - 250 - 1 - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - Tip Color - matrix-tip-color - - - 0 - center - 250 - 1 - - - - - edit-clear-symbolic - center - Reset to Default Value - diff --git a/resources/ui/gtk4/PixelWheel.ui b/resources/ui/gtk4/PixelWheel.ui index d5edb3a..32b9a77 100644 --- a/resources/ui/gtk4/PixelWheel.ui +++ b/resources/ui/gtk4/PixelWheel.ui @@ -7,106 +7,162 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 2000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - center - Reset to Default Value + + none + 1 + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 2000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Spoke Count + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Pixel Size + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Spoke Count - - - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Pixel Size - - - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/PixelWipe.ui b/resources/ui/gtk4/PixelWipe.ui index f29c16f..10e01aa 100644 --- a/resources/ui/gtk4/PixelWipe.ui +++ b/resources/ui/gtk4/PixelWipe.ui @@ -7,73 +7,116 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 5000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - center - Reset to Default Value + + none + 1 + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 5000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Pixel Size + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Pixel Size - - - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/Pixelate.ui b/resources/ui/gtk4/Pixelate.ui index 04f216e..53d070a 100644 --- a/resources/ui/gtk4/Pixelate.ui +++ b/resources/ui/gtk4/Pixelate.ui @@ -7,106 +7,162 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 - - - - - - - edit-clear-symbolic - center - Reset to Default Value + + none + 1 + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Noise + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 100 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Pixel Size + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Noise - - - center - 1 - 0 - left - 300 - - - 100 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - - - - Pixel Size - - - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 - - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/SnapOfDisintegration.ui b/resources/ui/gtk4/SnapOfDisintegration.ui index 0f19009..7d5e79f 100644 --- a/resources/ui/gtk4/SnapOfDisintegration.ui +++ b/resources/ui/gtk4/SnapOfDisintegration.ui @@ -7,98 +7,150 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 500 - 10 - 100 + + 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 + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 2 - left - 300 - - - 20 - 0.1 - 0.01 - 0.1 + + + 0 + + + + + Scale + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 20 + 0.1 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + Color + 0 + start + center + 1 + + + + + 1 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Color - snap-color - - - 250 - center - 1 - 1 - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/TRexAttack.ui b/resources/ui/gtk4/TRexAttack.ui index a5532f4..30cd0b5 100644 --- a/resources/ui/gtk4/TRexAttack.ui +++ b/resources/ui/gtk4/TRexAttack.ui @@ -7,160 +7,237 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Claw Scratch Scale - - - center - 1 - 1 - left - 300 - - - 10 - 0.1 - 0.1 - 1 + + + 0 + + + + + Claw Scratch Scale + 0 + start + center + 1 + + + + + end + center + 1 + 1 + left + 300 + + + 10 + 0.1 + 0.1 + 1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Claw Scratch Count - - - center - 1 - 0 - left - 300 - - - 50 - 1 - 1 - 10 + + + 0 + + + + + Claw Scratch Count + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 50 + 1 + 1 + 10 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Warp Effect - - - center - 1 - 2 - left - 300 - - - 1 - 0 - 0.01 - 0.1 + + + 0 + + + + + Warp Effect + 0 + start + center + 1 + + + + + end + center + 1 + 2 + left + 300 + + + 1 + 0 + 0.01 + 0.1 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + + + + + 0 + + + + + Flash Color + 0 + start + center + 1 + + + + + 1 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + - - - Flash Color - claw-scratch-color - - - 1 - 1 - 250 - center - - - - - edit-clear-symbolic - center - Reset to Default Value - diff --git a/resources/ui/gtk4/TVEffect.ui b/resources/ui/gtk4/TVEffect.ui index fc3d1e8..48babef 100644 --- a/resources/ui/gtk4/TVEffect.ui +++ b/resources/ui/gtk4/TVEffect.ui @@ -7,65 +7,104 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + Color + 0 + start + center + 1 + + + + + 0 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Color - tv-effect-color - - - 0 - 1 - 250 - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/Wisps.ui b/resources/ui/gtk4/Wisps.ui index 788e668..6acd526 100644 --- a/resources/ui/gtk4/Wisps.ui +++ b/resources/ui/gtk4/Wisps.ui @@ -7,98 +7,150 @@ SPDX-License-Identifier: GPL-3.0-or-later - + + vertical - - Animation Time [ms] + - - center - 1 - 0 - left - 300 - - - 10000 - 100 - 1 - 100 + + none + 1 + + + + + 0 + + + + + Animation Time [ms] + 0 + start + center + 1 + + + + + end + center + 1 + 0 + left + 300 + + + 10000 + 100 + 1 + 100 + + + + + + + edit-clear-symbolic + Reset to Default Value + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - + - - - Scale - - - center - 1 - 2 - left - 300 - - - 10 - 0.1 - 0.01 - 0.1 + + + 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 + + + + + - - - - - - edit-clear-symbolic - center - Reset to Default Value - + + + + + 0 + + + + + Color + 0 + start + center + 1 + + + + + 0 + 1 + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - Color - wisps-color - - - 0 - 1 - 250 - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - diff --git a/resources/ui/gtk4/effectPage.ui b/resources/ui/gtk4/effectPage.ui new file mode 100644 index 0000000..72af3d3 --- /dev/null +++ b/resources/ui/gtk4/effectPage.ui @@ -0,0 +1,59 @@ + + + + + + + + + + \ No newline at end of file diff --git a/resources/ui/gtk4/prefs.ui b/resources/ui/gtk4/prefs.ui index ba9e1af..20b043e 100644 --- a/resources/ui/gtk4/prefs.ui +++ b/resources/ui/gtk4/prefs.ui @@ -8,6 +8,9 @@ SPDX-License-Identifier: GPL-3.0-or-later + + + main-menu open-menu-symbolic @@ -16,7 +19,7 @@ SPDX-License-Identifier: GPL-3.0-or-later vertical 60 - 20 + 60 @@ -45,52 +48,174 @@ SPDX-License-Identifier: GPL-3.0-or-later - - + - - Also Add Effects to Dialogs - destroy-dialogs + + none + 1 + + + - - center + + 0 + + + + + vertical + 3 + + + Open Window Animation + 0 + start + center + 1 + + + + + If multiple are selected, one is chosen randomly. + 0 + start + center + 1 + + + + + + + + Choose Effects + open-effect-menu + + + + + - - edit-clear-symbolic - center - Reset to Default Value - + + 0 + + + + + vertical + 3 + + + Close Window Animation + 0 + start + center + 1 + + + + + If multiple are selected, one is chosen randomly. + 0 + start + center + 1 + + + + + + + + Choose Effects + close-effect-menu + + + + + + + + 0 + + + + + Also Add Effects to Dialogs + 0 + start + center + 1 + + + + + end + center + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + + + + 0 + + + + + Disable on Battery Power + 0 + start + center + 1 + + + + + end + center + + + + + edit-clear-symbolic + Reset to Default Value + + + + + + + + - - - - Disable on Battery Power - disable-on-battery - - - center - - - - - edit-clear-symbolic - center - Reset to Default Value - - - - - - diff --git a/src/Apparition.js b/src/Apparition.js index c2c3d7a..9c44da1 100644 --- a/src/Apparition.js +++ b/src/Apparition.js @@ -88,7 +88,7 @@ var Apparition = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Apparition.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Apparition.ui`); // Bind all properties. dialog.bindAdjustment('apparition-randomness'); diff --git a/src/BrokenGlass.js b/src/BrokenGlass.js index fee50f1..3a98030 100644 --- a/src/BrokenGlass.js +++ b/src/BrokenGlass.js @@ -146,7 +146,7 @@ var BrokenGlass = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource('/ui/gtk4/BrokenGlass.ui'); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/BrokenGlass.ui`); // Bind all properties. dialog.bindAdjustment('broken-glass-animation-time'); diff --git a/src/Doom.js b/src/Doom.js index 1a224f2..5e35cf8 100644 --- a/src/Doom.js +++ b/src/Doom.js @@ -95,7 +95,7 @@ var Doom = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Doom.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Doom.ui`); // Bind all properties. dialog.bindAdjustment('doom-animation-time'); diff --git a/src/EnergizeA.js b/src/EnergizeA.js index cda9785..391d5c9 100644 --- a/src/EnergizeA.js +++ b/src/EnergizeA.js @@ -87,7 +87,7 @@ var EnergizeA = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/EnergizeA.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/EnergizeA.ui`); // Bind all properties. dialog.bindAdjustment('energize-a-animation-time'); diff --git a/src/EnergizeB.js b/src/EnergizeB.js index e149535..d6318b9 100644 --- a/src/EnergizeB.js +++ b/src/EnergizeB.js @@ -88,7 +88,7 @@ var EnergizeB = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/EnergizeB.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/EnergizeB.ui`); // Bind all properties. dialog.bindAdjustment('energize-b-animation-time'); diff --git a/src/Fire.js b/src/Fire.js index 7c32fff..3123b28 100644 --- a/src/Fire.js +++ b/src/Fire.js @@ -107,7 +107,7 @@ var Fire = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Fire.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Fire.ui`); // Bind all properties. dialog.bindAdjustment('fire-animation-time'); diff --git a/src/Glide.js b/src/Glide.js index 350d728..f76e5f3 100644 --- a/src/Glide.js +++ b/src/Glide.js @@ -83,7 +83,7 @@ var Glide = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Glide.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Glide.ui`); // Bind all properties. dialog.bindAdjustment('glide-animation-time'); diff --git a/src/Hexagon.js b/src/Hexagon.js index a92a0d1..8116c70 100644 --- a/src/Hexagon.js +++ b/src/Hexagon.js @@ -105,7 +105,7 @@ var Hexagon = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Hexagon.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Hexagon.ui`); // Bind all properties. dialog.bindAdjustment('hexagon-animation-time'); diff --git a/src/Incinerate.js b/src/Incinerate.js index 1e67e0e..cc506e1 100644 --- a/src/Incinerate.js +++ b/src/Incinerate.js @@ -138,7 +138,7 @@ var Incinerate = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Incinerate.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Incinerate.ui`); // Bind all properties. dialog.bindAdjustment('incinerate-animation-time'); diff --git a/src/Matrix.js b/src/Matrix.js index 1c8969b..7b0f4f0 100644 --- a/src/Matrix.js +++ b/src/Matrix.js @@ -121,7 +121,7 @@ var Matrix = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource('/ui/gtk4/Matrix.ui'); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Matrix.ui`); // Bind all properties. dialog.bindAdjustment('matrix-animation-time'); diff --git a/src/PixelWheel.js b/src/PixelWheel.js index c568452..46a804e 100644 --- a/src/PixelWheel.js +++ b/src/PixelWheel.js @@ -81,7 +81,7 @@ var PixelWheel = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/PixelWheel.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/PixelWheel.ui`); // Bind all properties. dialog.bindAdjustment('pixel-wheel-animation-time'); diff --git a/src/PixelWipe.js b/src/PixelWipe.js index 1378d80..e78e1f1 100644 --- a/src/PixelWipe.js +++ b/src/PixelWipe.js @@ -107,7 +107,7 @@ var PixelWipe = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/PixelWipe.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/PixelWipe.ui`); // Bind all properties. dialog.bindAdjustment('pixel-wipe-animation-time'); diff --git a/src/Pixelate.js b/src/Pixelate.js index 3127fd0..3ca6713 100644 --- a/src/Pixelate.js +++ b/src/Pixelate.js @@ -81,7 +81,7 @@ var Pixelate = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Pixelate.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Pixelate.ui`); // Bind all properties. dialog.bindAdjustment('pixelate-animation-time'); diff --git a/src/SnapOfDisintegration.js b/src/SnapOfDisintegration.js index 1fb47cc..3750ff4 100644 --- a/src/SnapOfDisintegration.js +++ b/src/SnapOfDisintegration.js @@ -125,7 +125,8 @@ var SnapOfDisintegration = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource('/ui/gtk4/SnapOfDisintegration.ui'); + dialog.getBuilder().add_from_resource( + `/ui/${utils.getUIDir()}/SnapOfDisintegration.ui`); // Bind all properties. dialog.bindAdjustment('snap-animation-time'); diff --git a/src/TRexAttack.js b/src/TRexAttack.js index c5051b8..e59cf1f 100644 --- a/src/TRexAttack.js +++ b/src/TRexAttack.js @@ -123,7 +123,7 @@ var TRexAttack = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource('/ui/gtk4/TRexAttack.ui'); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/TRexAttack.ui`); // Bind all properties. dialog.bindAdjustment('trex-animation-time'); diff --git a/src/TVEffect.js b/src/TVEffect.js index fe0b270..2dabded 100644 --- a/src/TVEffect.js +++ b/src/TVEffect.js @@ -85,7 +85,7 @@ var TVEffect = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/TVEffect.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/TVEffect.ui`); // Bind all properties. dialog.bindAdjustment('tv-animation-time'); diff --git a/src/Wisps.js b/src/Wisps.js index 676cc02..76fe75d 100644 --- a/src/Wisps.js +++ b/src/Wisps.js @@ -93,7 +93,7 @@ var Wisps = class { getPreferences(dialog) { // Add the settings page to the builder. - dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Wisps.ui`); + dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/Wisps.ui`); // Bind all properties. dialog.bindAdjustment('wisps-animation-time'); diff --git a/src/utils.js b/src/utils.js index 28b3346..8e5024f 100644 --- a/src/utils.js +++ b/src/utils.js @@ -17,6 +17,14 @@ const {Gtk, Gio} = imports.gi; const ByteArray = imports.byteArray; +// libadwaita is available starting with GNOME Shell 42. +let Adw = null; +try { + Adw = imports.gi.Adw; +} catch (e) { + // Nothing to do. +} + // Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3, // -2, and -1 are returned respectively. function toNumericVersion(x) { @@ -62,9 +70,16 @@ function isGTK4() { return Gtk.get_major_version() == 4; } -// This method returns 'gtk3' or 'gtk4' depending on the currently used gtk version. -function getGTKString() { - return isGTK4() ? 'gtk4' : 'gtk3'; +// Starting with GNOME Shell 42, the settings dialog uses libadwaita (at least most of +// the time - it seems that pop!_OS does not support libadwaita even on GNOME 42). +function isADW() { + return Adw && shellVersionIsAtLeast(42, 'beta'); +} + +// This method returns 'gtk3', 'gtk4', or 'adw' depending on the currently used GTK / and +// or libadwaita version. +function getUIDir() { + return isADW() ? 'adw' : (isGTK4() ? 'gtk4' : 'gtk3'); } // This method returns true if the current GNOME Shell version matches the given From 1324289d9055c6376d9575e1a664678e694f85a0 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Mon, 7 Nov 2022 06:15:59 +0100 Subject: [PATCH 6/9] :wrench: Fix preferences on GTK4 --- prefs.js | 65 ++------------------------------------------------------ 1 file changed, 2 insertions(+), 63 deletions(-) diff --git a/prefs.js b/prefs.js index 01b1de1..fe5e33b 100644 --- a/prefs.js +++ b/prefs.js @@ -203,70 +203,9 @@ var PreferencesDialog = class PreferencesDialog { this._effectRows.push(row); } }); - - } else if (utils.isGTK4()) { - // This is our top-level widget which we will return later. - this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL}); - - // Add the general options page to the settings dialog. - const generalPrefs = this._builder.get_object('general-prefs'); - this.gtkBoxAppend(this._widget, generalPrefs); - - // Then add a preferences group with action rows to open the effect subpages. - const group = new Adw.PreferencesGroup({title: _('Effects')}); - this.gtkBoxAppend(this._widget, group); - - this._ALL_EFFECTS.forEach(effect => { - const [minMajor, minMinor] = effect.getMinShellVersion(); - if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { - - const row = new Adw.ActionRow({title: effect.getLabel(), activatable: true}); - row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'})); - - // Open a subpage with the effect's settings. - row.connect('activated', () => { - const page = new BurnMyWindowsEffectPage(effect, this); - page.valign = Gtk.Align.CENTER; - page.margin_top = 10; - page.margin_bottom = 10; - page.margin_start = 10; - page.margin_end = 10; - - // Add the effect's preferences (if any). - const preferences = effect.getPreferences(this); - if (preferences) { - this.gtkBoxAppend(page, preferences); - } - - // Add a button for back navigation. - const backButton = new Gtk.Button({ - halign: Gtk.Align.CENTER, - label: _('Go Back'), - }); - backButton.add_css_class('suggested-action'); - backButton.add_css_class('pill-button'); - backButton.connect('clicked', () => { - row.get_root().close_subpage(); - }); - - this.gtkBoxAppend(page, backButton); - - // Wrap the preferences group in an Adw.Clamp. - const clamp = new Adw.Clamp({ - child: page, - maximum_size: 600, - tightening_threshold: 400, - }); - - // Open the subpage on click. - row.get_root().present_subpage(clamp); - }); - - group.add(row); - } - }); } - // On older GNOME versions, we use a StackSidebar. + // On older GNOME versions, we use a StackSidebar. The code below works both, on GTK3 + // and GTK4. else { // This is our top-level widget which we will return later. From 6d710724a587ddb02a3f94bf4b5162103db4dd7a Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Mon, 7 Nov 2022 20:06:13 +0100 Subject: [PATCH 7/9] :wrench: Fix preferences on GTK4 (once more) --- prefs.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prefs.js b/prefs.js index fe5e33b..4c1187e 100644 --- a/prefs.js +++ b/prefs.js @@ -578,13 +578,13 @@ var PreferencesDialog = class PreferencesDialog { // Initializes template widgets used by the preferences dialog. _registerCustomClasses() { - // On GTK3, each effect page is based on a template widget. This template contains the - // title and the preview button. + // If we are not using libadwaita, each effect page is based on a template widget. + // This template contains the title and the preview button. if (!utils.isADW() && GObject.type_from_name('BurnMyWindowsEffectPage') == null) { BurnMyWindowsEffectPage = GObject.registerClass( { GTypeName: 'BurnMyWindowsEffectPage', - Template: `resource:///ui/gtk3/effectPage.ui`, + Template: `resource:///ui/${utils.getUIDir()}/effectPage.ui`, InternalChildren: ['label', 'button'], }, class BurnMyWindowsEffectPage extends Gtk.Box { // ------------------------------ From a2732ffda067792c2c53153b1ece3faeb5997934 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Mon, 7 Nov 2022 20:19:46 +0100 Subject: [PATCH 8/9] :wrench: Fix preferences on GTK4 (once more) --- prefs.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/prefs.js b/prefs.js index 4c1187e..7f8c9cf 100644 --- a/prefs.js +++ b/prefs.js @@ -349,9 +349,9 @@ var PreferencesDialog = class PreferencesDialog { const action = this._settings.create_action(actionName); group.add_action(action); - // The menu only exists on GTK3. On GTK4, individual ToggleButtons are used - // for triggering the above actions. - if (!utils.isGTK4()) { + // The menu only exists if not using libadwaita. With libadwaita, individual + // ToggleButtons are used for triggering the above actions. + if (!utils.isADW()) { const menu = this._builder.get_object('open-effect-menu'); const label = effect.getLabel(); menu.append_item(Gio.MenuItem.new(label, 'open-effects.' + actionName)); @@ -372,9 +372,9 @@ var PreferencesDialog = class PreferencesDialog { const action = this._settings.create_action(actionName); group.add_action(action); - // The menu only exists on GTK3. On GTK4, individual ToggleButtons are used - // for triggering the above actions. - if (!utils.isGTK4()) { + // The menu only exists if not using libadwaita. With libadwaita, individual + // ToggleButtons are used for triggering the above actions. + if (!utils.isADW()) { const menu = this._builder.get_object('close-effect-menu'); const label = effect.getLabel(); menu.append_item(Gio.MenuItem.new(label, 'close-effects.' + actionName)); From 49c6996c861bbb3fc9add8a7b55632a383417771 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Mon, 7 Nov 2022 21:04:25 +0100 Subject: [PATCH 9/9] :memo: Add changelog entry --- docs/changelog.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 4efc176..e936f4f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -11,10 +11,11 @@ SPDX-License-Identifier: CC-BY-4.0 #### New Features -* **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. +* **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. This effect is available on all support GNOME versions and on KDE. #### Other Enhancements +* The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43. * Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec). * The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format.