♻️ Use unified shader names

This commit is contained in:
Simon Schneegans
2022-01-11 19:43:47 +01:00
parent 466365fcc7
commit 314090e0d0
4 changed files with 18 additions and 26 deletions
+4 -6
View File
@@ -28,7 +28,7 @@ const utils = Me.imports.src.utils;
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// The shader class for this effect is registered further down in this file. // The shader class for this effect is registered further down in this file.
let FireShader = null; let Shader = null;
// The effect class is completely static. It can be used to get some metadata (like the // The effect class is completely static. It can be used to get some metadata (like the
// effect's name or supported GNOME Shell versions), to initialize the respective page of // effect's name or supported GNOME Shell versions), to initialize the respective page of
@@ -99,7 +99,7 @@ var FireEffect = class FireEffect {
// This is called from extension.js whenever a window is closed with this effect. // This is called from extension.js whenever a window is closed with this effect.
static createShader(settings) { static createShader(settings) {
return new FireShader(settings); return new Shader(settings);
} }
// This is also called from extension.js. It is used to tweak the ongoing transitions of // This is also called from extension.js. It is used to tweak the ongoing transitions of
@@ -116,8 +116,7 @@ var FireEffect = class FireEffect {
} }
}; };
// If there's a transition in progress, we re-target these transitions so that the // We re-target these transitions so that the window is neither scaled nor faded.
// window is neither scaled nor faded.
tweakTransition('opacity', 255); tweakTransition('opacity', 255);
tweakTransition('scale-x', 1); tweakTransition('scale-x', 1);
tweakTransition('scale-y', 1); tweakTransition('scale-y', 1);
@@ -225,8 +224,7 @@ if (utils.isInShellProcess()) {
const Clutter = imports.gi.Clutter; const Clutter = imports.gi.Clutter;
const shaderSnippets = Me.imports.src.shaderSnippets; const shaderSnippets = Me.imports.src.shaderSnippets;
FireShader = GObject.registerClass({Properties: {}, Signals: {}}, Shader = GObject.registerClass({}, class Shader extends Clutter.ShaderEffect {
class FireShader extends Clutter.ShaderEffect {
_init(settings) { _init(settings) {
super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER}); super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER});
+5 -8
View File
@@ -20,7 +20,7 @@ const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.src.utils; const utils = Me.imports.src.utils;
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// The MatrixShader multiplies a grid of random letters with some gradients which are // // The Matrix shader multiplies a grid of random letters with some gradients which are //
// moving from top to bottom. The speed of the moving gradients is chosen randomly. // // moving from top to bottom. The speed of the moving gradients is chosen randomly. //
// Also, there is a random delay making the gradients not drop all at the same time. // // Also, there is a random delay making the gradients not drop all at the same time. //
// This effect is not available on GNOME 3.3x, due to the limitation described in the // // This effect is not available on GNOME 3.3x, due to the limitation described in the //
@@ -28,7 +28,7 @@ const utils = Me.imports.src.utils;
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// The shader class for this effect is registered further down in this file. // The shader class for this effect is registered further down in this file.
let MatrixShader = null; let Shader = null;
// The effect class is completely static. It can be used to get some metadata (like the // The effect class is completely static. It can be used to get some metadata (like the
// effect's name or supported GNOME Shell versions), to initialize the respective page of // effect's name or supported GNOME Shell versions), to initialize the respective page of
@@ -83,7 +83,7 @@ var MatrixEffect = class MatrixEffect {
// This is called from extension.js whenever a window is closed with this effect. // This is called from extension.js whenever a window is closed with this effect.
static createShader(settings) { static createShader(settings) {
return new MatrixShader(settings); return new Shader(settings);
} }
// This is also called from extension.js. It is used to tweak the ongoing transitions of // This is also called from extension.js. It is used to tweak the ongoing transitions of
@@ -100,8 +100,7 @@ var MatrixEffect = class MatrixEffect {
} }
}; };
// If there's a transition in progress, we re-target these transitions so that the // We re-target these transitions so that the window is neither scaled nor faded.
// window is neither scaled nor faded.
tweakTransition('opacity', 255); tweakTransition('opacity', 255);
tweakTransition('scale-x', 1); tweakTransition('scale-x', 1);
tweakTransition('scale-y', 1); tweakTransition('scale-y', 1);
@@ -120,9 +119,7 @@ if (utils.isInShellProcess()) {
const {Clutter, GdkPixbuf, Cogl} = imports.gi; const {Clutter, GdkPixbuf, Cogl} = imports.gi;
const shaderSnippets = Me.imports.src.shaderSnippets; const shaderSnippets = Me.imports.src.shaderSnippets;
Shader = GObject.registerClass({}, class Shader extends Clutter.ShaderEffect {
MatrixShader = GObject.registerClass({Properties: {}, Signals: {}},
class MatrixShader extends Clutter.ShaderEffect {
_init(settings) { _init(settings) {
super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER}); super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER});
+3 -5
View File
@@ -26,7 +26,7 @@ const utils = Me.imports.src.utils;
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// The shader class for this effect is registered further down in this file. // The shader class for this effect is registered further down in this file.
let TRexShader = null; let Shader = null;
// The effect class is completely static. It can be used to get some metadata (like the // The effect class is completely static. It can be used to get some metadata (like the
// effect's name or supported GNOME Shell versions), to initialize the respective page of // effect's name or supported GNOME Shell versions), to initialize the respective page of
@@ -81,7 +81,7 @@ var TRexEffect = class TRexEffect {
// This is called from extension.js whenever a window is closed with this effect. // This is called from extension.js whenever a window is closed with this effect.
static createShader(settings) { static createShader(settings) {
return new TRexShader(settings); return new Shader(settings);
} }
// This is also called from extension.js. It is used to tweak the ongoing transitions of // This is also called from extension.js. It is used to tweak the ongoing transitions of
@@ -119,9 +119,7 @@ if (utils.isInShellProcess()) {
const {Clutter, GdkPixbuf, Cogl} = imports.gi; const {Clutter, GdkPixbuf, Cogl} = imports.gi;
const shaderSnippets = Me.imports.src.shaderSnippets; const shaderSnippets = Me.imports.src.shaderSnippets;
Shader = GObject.registerClass({}, class Shader extends Clutter.ShaderEffect {
TRexShader = GObject.registerClass({Properties: {}, Signals: {}},
class TRexShader extends Clutter.ShaderEffect {
_init(settings) { _init(settings) {
super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER}); super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER});
+6 -7
View File
@@ -20,13 +20,13 @@ const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.src.utils; const utils = Me.imports.src.utils;
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// The TVShader hides the actor by making it first transparent from top and // // This effect hides the actor by making it first transparent from top and bottom //
// bottom towards the middle and then hiding the resulting line from left and right // // towards the middle and then hiding the resulting line from left and right towards //
// towards the center. // // the center. //
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// The shader class for this effect is registered further down in this file. // The shader class for this effect is registered further down in this file.
let TVShader = null; let Shader = null;
// The effect class is completely static. It can be used to get some metadata (like the // The effect class is completely static. It can be used to get some metadata (like the
// effect's name or supported GNOME Shell versions), to initialize the respective page of // effect's name or supported GNOME Shell versions), to initialize the respective page of
@@ -78,7 +78,7 @@ var TVEffect = class TVEffect {
// This is called from extension.js whenever a window is closed with this effect. // This is called from extension.js whenever a window is closed with this effect.
static createShader(settings) { static createShader(settings) {
return new TVShader(settings); return new Shader(settings);
} }
// This is also called from extension.js. It is used to tweak the ongoing transitions of // This is also called from extension.js. It is used to tweak the ongoing transitions of
@@ -114,8 +114,7 @@ if (utils.isInShellProcess()) {
const Clutter = imports.gi.Clutter; const Clutter = imports.gi.Clutter;
const shaderSnippets = Me.imports.src.shaderSnippets; const shaderSnippets = Me.imports.src.shaderSnippets;
TVShader = GObject.registerClass({Properties: {}, Signals: {}}, Shader = GObject.registerClass({}, class Shader extends Clutter.ShaderEffect {
class TVShader extends Clutter.ShaderEffect {
_init(settings) { _init(settings) {
super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER}); super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER});