diff --git a/docs/changelog.md b/docs/changelog.md index 96ae92e..ee39533 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,14 @@ SPDX-License-Identifier: CC-BY-4.0 # Changelog of the Burn-My-Windows Extension +## [Burn My Windows 29](https://github.com/schneegans/Burn-My-Windows/releases/tag/v29) + +**Release Date:** TBD + +#### Bug Fixes + +* Beetle fixed a regression introduced with the severe refactoring in the previous version: The window-close animations of Burn-My-Windows were not shown in front of full-screen windows. + ## [Burn My Windows 28](https://github.com/schneegans/Burn-My-Windows/releases/tag/v28) **Release Date:** 2023-04-06 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'); }