diff --git a/lib/extension/window.js b/lib/extension/window.js index 0126f16..0509dcc 100644 --- a/lib/extension/window.js +++ b/lib/extension/window.js @@ -103,8 +103,13 @@ export class WindowManager extends GObject.Object { let wmId = metaWindow.get_id(); for (let override of overrides) { - // if the window is already floating - if (override.wmClass === wmClass && override.mode === "float" && !override.wmTitle) return; + // ignore already floating and find correct window instance + if (override.wmClass === wmClass && override.mode === "float" && !override.wmTitle) { + if (withWmId && override.wmId !== wmId) { + continue; + } + return; + } } overrides.push({ wmClass: wmClass, @@ -115,6 +120,7 @@ export class WindowManager extends GObject.Object { // Save the updated overrides back to the ConfigManager currentProps.overrides = overrides; this.ext.configMgr.windowProps = currentProps; + this.windowProps = currentProps; } removeFloatOverride(metaWindow, withWmId) { @@ -135,6 +141,7 @@ export class WindowManager extends GObject.Object { // Save the updated overrides back to the ConfigManager currentProps.overrides = overrides; this.ext.configMgr.windowProps = currentProps; + this.windowProps = currentProps; } toggleFloatingMode(action, metaWindow) {