Compare commits

...

8 Commits

Author SHA1 Message Date
Simon Schneegans aca3c34142 🪲 Fix yet another incompatibility with the Magic Lamp
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-08 10:26:54 +02:00
Simon Schneegans 84bd93bd2c 🎉 Bump version number 2023-04-08 09:44:28 +02:00
Simon Schneegans 3367b57c05 🪲 Fix incompatibility with the magic-lamp extension
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-08 09:27:31 +02:00
SoftExpert 9905e643a5 🌐 Translated using Weblate (Romanian) 2023-04-07 16:10:33 +02:00
Simon Schneegans 0d8aed5ad0 🔀 Merge pull request #322 from Schneegans/feature/fixes 2023-04-07 16:09:33 +02:00
Simon Schneegans 79601cc8d0 📝 Add changelog entry 2023-04-07 06:37:24 +02:00
Simon Schneegans f021ea7ede 🪲 Fix effects in front of fullscreen windows 2023-04-07 06:35:17 +02:00
Simon Schneegans f3e9917729 🎉 Bump version number 2023-04-07 06:23:59 +02:00
5 changed files with 43 additions and 18 deletions
+17
View File
@@ -5,6 +5,23 @@ SPDX-License-Identifier: CC-BY-4.0
# Changelog of the Burn-My-Windows Extension
## [Burn My Windows 30](https://github.com/schneegans/Burn-My-Windows/releases/tag/v30)
**Release Date:** 2023-04-08
#### Bug Fixes
* Fixed yet another incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
## [Burn My Windows 29](https://github.com/schneegans/Burn-My-Windows/releases/tag/v29)
**Release Date:** 2023-04-08
#### Bug Fixes
* Fixed a regression which caused window-close animations not to shown in front of full-screen windows.
* Fixed an incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
## [Burn My Windows 28](https://github.com/schneegans/Burn-My-Windows/releases/tag/v28)
**Release Date:** 2023-04-06
+12 -12
View File
@@ -136,8 +136,8 @@ class Extension {
}
// We will monkey-patch these methods. Let's store the original ones.
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
this._origWaitForOverviewToHide = WindowManager.prototype._waitForOverviewToHide;
this._origShouldAnimateActor = Main.wm._shouldAnimateActor;
this._origWaitForOverviewToHide = Main.wm._waitForOverviewToHide;
this._origAddWindowClone = Workspace.prototype._addWindowClone;
this._origWindowRemoved = Workspace.prototype._windowRemoved;
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
@@ -165,10 +165,10 @@ class Extension {
// was called by either _mapWindow or _destroyWindow. If so, we return true. Let's see
// if this breaks stuff left and right...
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1120
WindowManager.prototype._shouldAnimateActor = function(actor, types) {
const caller = (new Error()).stack.split('\n')[1];
const forClosing = caller.includes('_destroyWindow@');
const forOpening = caller.includes('_mapWindow@');
Main.wm._shouldAnimateActor = function(actor, types) {
const stack = (new Error()).stack;
const forClosing = stack.includes('_destroyWindow@');
const forOpening = stack.includes('_mapWindow@');
// This is also called in other cases, for instance when minimizing windows. We are
// only interested in window opening and window closing for now.
@@ -259,7 +259,7 @@ class Extension {
// Usually, windows are faded in after the overview is completely hidden. We enable
// window-open animations by not waiting for this.
WindowManager.prototype._waitForOverviewToHide = async function() {
Main.wm._waitForOverviewToHide = async function() {
return Promise.resolve();
};
@@ -348,11 +348,11 @@ class Extension {
global.window_manager.disconnect(this._killEffectsSignal);
// Restore the original window-open and window-close animations.
Workspace.prototype._addWindowClone = this._origAddWindowClone;
Workspace.prototype._windowRemoved = this._origWindowRemoved;
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor;
WindowManager.prototype._waitForOverviewToHide = this._origWaitForOverviewToHide;
Workspace.prototype._addWindowClone = this._origAddWindowClone;
Workspace.prototype._windowRemoved = this._origWindowRemoved;
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
Main.wm._shouldAnimateActor = this._origShouldAnimateActor;
Main.wm._waitForOverviewToHide = this._origWaitForOverviewToHide;
if (WindowPreview) {
WindowPreview.prototype._deleteAll = this._origDeleteAll;
+1 -1
View File
@@ -14,5 +14,5 @@
"44"
],
"url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 28
"version": 30
}
+3 -3
View File
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-02-25 03:39+0000\n"
"PO-Revision-Date: 2023-04-07 05:50+0000\n"
"Last-Translator: SoftExpert <softexpert@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ro/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 4.16-dev\n"
"X-Generator: Weblate 4.17-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
@@ -48,7 +48,7 @@ msgstr "Schemă de culori implicită"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr "Schema de culori întunecate"
msgstr "Schemă de culori întunecate"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
+10 -2
View File
@@ -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');
}