diff --git a/src/Shader.js b/src/Shader.js index 2803259..2e94c3b 100644 --- a/src/Shader.js +++ b/src/Shader.js @@ -14,8 +14,8 @@ 'use strict'; -const {Gio, Shell, GObject, Clutter} = imports.gi; -const ByteArray = imports.byteArray; +const {Gio, Shell, GObject, Clutter, Meta} = imports.gi; +const ByteArray = imports.byteArray; const Main = imports.ui.main; const ExtensionUtils = imports.misc.extensionUtils; @@ -113,6 +113,10 @@ var Shader = GObject.registerClass( this._timeline.set_duration(duration); this._timeline.start(); + // Make sure that no fullscreen window is drawn over our animations. + Meta.disable_unredirect_for_display(global.display); + global.begin_work(); + // Reset progress value. this._progress = 0; this._testMode = testMode; @@ -147,6 +151,10 @@ var Shader = GObject.registerClass( return; } + // Restore unredirecting behavior for fullscreen windows. + Meta.enable_unredirect_for_display(global.display); + global.end_work(); + this.emit('end-animation'); }