[gnome-shell] fix selection of all-workspace windows



commit cfd63c7d4c62129a3b614f34ed28621fae77eea0
Author: Maxim Ermilov <zaspire rambler ru>
Date:   Fri Feb 19 19:42:36 2010 +0300

    fix selection of all-workspace windows
    
    all-workspace windows can be active on every workspace.
    https://bugzilla.gnome.org/show_bug.cgi?id=603078

 js/ui/main.js      |    5 +++--
 js/ui/workspace.js |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index a749a01..902ee5b 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -400,13 +400,14 @@ function getRunDialog() {
  * activateWindow:
  * @window: the Meta.Window to activate
  * @time: (optional) current event time
+ * @workspaceNum: (optional) window's workspace number
  *
  * Activates @window, switching to its workspace first if necessary,
  * and switching out of the overview if it's currently active
  */
-function activateWindow(window, time) {
+function activateWindow(window, time, workspaceNum) {
     let activeWorkspaceNum = global.screen.get_active_workspace_index();
-    let windowWorkspaceNum = window.get_workspace().index();
+    let windowWorkspaceNum = (workspaceNum !== undefined) ? workspaceNum : window.get_workspace().index();
 
     if (!time)
         time = global.get_current_time();
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 7e67043..7a5f31f 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -1417,7 +1417,7 @@ Workspace.prototype = {
     },
 
     _onCloneSelected : function (clone, time) {
-        Main.activateWindow(clone.metaWindow, time);
+        Main.activateWindow(clone.metaWindow, time, this.workspaceNum);
     },
 
     _removeSelf : function(actor, event) {



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