[gnome-shell] [appDisplay] Always relaunch application on drag and drop



commit 7465338ea1d501c996614ce7894ed6c247d107b6
Author: Colin Walters <walters verbum org>
Date:   Thu Aug 20 20:03:28 2009 -0400

    [appDisplay] Always relaunch application on drag and drop
    
    Rather than just launching if we weren't already running, always
    relaunch, which happens to make Firefox, etc. work.  See
    the comment in the commit for more explanation.

 js/ui/appDisplay.js |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index dcd6152..7930f5d 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -540,12 +540,15 @@ WellDisplayItem.prototype = {
     },
 
     shellWorkspaceLaunch : function() {
-        if (this._windows.length == 0) {
-            this.appInfo.launch();
-        } else {
-            // We should open a new window for the app here, once we know
-            // how to do that.
-        }
+        // Here we just always launch the application again, even if we know
+        // it was already running.  For most applications this
+        // should have the effect of creating a new window, whether that's
+        // a second process (in the case of Calculator) or IPC to existing
+        // instance (Firefox).  There are a few less-sensical cases such
+        // as say Pidgin, but ideally what we do there is have the app
+        // express to us that it doesn't do relaunch=new-window in the
+        // .desktop file.
+        this.appInfo.launch();
     },
 
     getDragActor: function(stageX, stageY) {



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