summaryrefslogtreecommitdiff
path: root/raveos-theme/gnome/theme-data/extensions/installed/blur-my-shell@aunetx/conveniences/paint_signals.js
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/gnome/theme-data/extensions/installed/blur-my-shell@aunetx/conveniences/paint_signals.js')
-rw-r--r--raveos-theme/gnome/theme-data/extensions/installed/blur-my-shell@aunetx/conveniences/paint_signals.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/raveos-theme/gnome/theme-data/extensions/installed/blur-my-shell@aunetx/conveniences/paint_signals.js b/raveos-theme/gnome/theme-data/extensions/installed/blur-my-shell@aunetx/conveniences/paint_signals.js
deleted file mode 100644
index 5fbfee4..0000000
--- a/raveos-theme/gnome/theme-data/extensions/installed/blur-my-shell@aunetx/conveniences/paint_signals.js
+++ /dev/null
@@ -1,91 +0,0 @@
-import GObject from 'gi://GObject';
-import Clutter from 'gi://Clutter';
-
-
-export const PaintSignals = class PaintSignals {
- constructor(connections) {
- this.buffer = [];
- this.connections = connections;
- }
-
- connect(actor, blur_effect) {
- let paint_effect = new EmitPaintSignal();
- let infos = {
- actor: actor,
- paint_effect: paint_effect
- };
- let counter = 0;
-
- actor.add_effect(paint_effect);
- this.connections.connect(paint_effect, 'update-blur', () => {
- try {
- // checking if blur_effect.queue_repaint() has been recently called
- if (counter === 0) {
- counter = 2;
- blur_effect.queue_repaint();
- }
- else counter--;
- } catch (e) { }
- });
-
- // remove the actor from buffer when it is destroyed
- if (
- actor.connect &&
- (
- !(actor instanceof GObject.Object) ||
- GObject.signal_lookup('destroy', actor)
- )
- )
- this.connections.connect(actor, 'destroy', () => {
- const immutable_buffer = [...this.buffer];
- immutable_buffer.forEach(infos => {
- if (infos.actor === actor) {
- // remove from buffer
- let index = this.buffer.indexOf(infos);
- this.buffer.splice(index, 1);
- }
- });
- });
-
- this.buffer.push(infos);
- }
-
- disconnect_all_for_actor(actor) {
- const immutable_buffer = [...this.buffer];
- immutable_buffer.forEach(infos => {
- if (infos.actor === actor) {
- this.connections.disconnect_all_for(infos.paint_effect);
- infos.actor.remove_effect(infos.paint_effect);
-
- // remove from buffer
- let index = this.buffer.indexOf(infos);
- this.buffer.splice(index, 1);
- }
- });
- }
-
- disconnect_all() {
- this.buffer.forEach(infos => {
- this.connections.disconnect_all_for(infos.paint_effect);
- infos.actor.remove_effect(infos.paint_effect);
- });
-
- this.buffer = [];
- }
-};
-
-export const EmitPaintSignal = GObject.registerClass({
- GTypeName: 'EmitPaintSignal',
- Signals: {
- 'update-blur': {
- param_types: []
- },
- }
-},
- class EmitPaintSignal extends Clutter.Effect {
- vfunc_paint(node, paint_context, paint_flags) {
- this.emit("update-blur");
- super.vfunc_paint(node, paint_context, paint_flags);
- }
- }
-); \ No newline at end of file