[gnome-shell] windowManager: Don't move sticky windows when inserting workspace



commit 8b9c8ddb1ecac972fad7aad7e3033839f6fc027e
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Apr 8 06:40:13 2019 +0200

    windowManager: Don't move sticky windows when inserting workspace
    
    Inserting a workspace is implemented by appending a new workspace, then
    shifting all windows after the "new" workspace up. This has an unintended
    side effect on sticky windows, as changing its workspace will unstick it.
    
    Fix this by excluding sticky windows - there's little point in moving them
    anyway, given that they should be on all workspaces (including the original
    workspace and the target one).
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/1151

 js/ui/windowManager.js | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index e8bd0a690..09eeac105 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -1218,6 +1218,10 @@ var WindowManager = class {
             // Same for OR windows
             if (window.is_override_redirect())
                 return;
+            // Sticky windows don't need moving, in fact moving would
+            // unstick them
+            if (window.on_all_workspaces)
+                return;
             // Windows on workspaces below pos don't need moving
             let index = window.get_workspace().index();
             if (index < pos)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]