--- dash.js_web	2011-10-22 13:29:31.252177524 +0200
+++ dash.js	2011-10-18 14:56:40.753795871 +0200
@@ -512,6 +524,38 @@ const Dash = new Lang.Class({
             newApps.push(app);
         }
 
+        let newNewApps = new Array();
+        let uxterm;
+        for (let i = 0; i < newApps.length; i++) {
+            if (newApps[i].get_name() == "UXTerm") {
+                if (!uxterm) {
+                    uxterm = newApps[i];
+                    uxterm._apps = new Array();
+                    if (!uxterm._get_windows) {
+                        uxterm._get_windows = uxterm.get_windows;
+                        uxterm.get_windows = function () {
+                            let ret = new Array();
+                            for (let k = 0; k < this._apps.length; k++) {
+                                let that_windows = this._apps[k]._get_windows ?
+                                    this._apps[k]._get_windows() :
+                                    this._apps[k].get_windows();
+                                for (let j = 0; j < that_windows.length; j++) {
+                                    ret.push(that_windows[j]);
+                                }
+                            }
+                            return ret;
+                        }
+                    }
+                    newNewApps.push(uxterm);
+                }
+                uxterm._apps.push(newApps[i]);
+            }
+            else {
+                newNewApps.push(newApps[i]);
+            }
+        }
+        newApps = newNewApps;
+
         // Figure out the actual changes to the list of items; we iterate
         // over both the list of items currently in the dash and the list
         // of items expected there, and collect additions and removals.
--- altTab.js_web	2011-10-22 13:28:12.569161194 +0200
+++ altTab.js	2011-10-18 14:56:40.753795871 +0200
@@ -183,6 +181,69 @@ const AltTabPopup = new Lang.Class({
         this.actor.connect('button-press-event', Lang.bind(this, this._clickedOutside));
         this.actor.connect('scroll-event', Lang.bind(this, this._onScroll));
 
+        let newLocalApps = new Array();
+        let uxterm;
+        for (let i = 0; i < localApps.length; i++) {
+            if (localApps[i].get_name() == "UXTerm") {
+                if (!uxterm) {
+                    uxterm = localApps[i];
+                    uxterm._apps = new Array();
+                    if (!uxterm._get_windows) {
+                        uxterm._get_windows = uxterm.get_windows;
+                        uxterm.get_windows = function () {
+                            let ret = new Array();
+                            for (let k = 0; k < this._apps.length; k++) {
+                                let that_windows = this._apps[k]._get_windows ?
+                                    this._apps[k]._get_windows() :
+                                    this._apps[k].get_windows();
+                                for (let j = 0; j < that_windows.length; j++) {
+                                    ret.push(that_windows[j]);
+                                }
+                            }
+                            return ret;
+                        }
+                    }
+                    newLocalApps.push(uxterm);
+                }
+                uxterm._apps.push(localApps[i]);
+            }
+            else {
+                newLocalApps.push(localApps[i]);
+            }
+        }
+        localApps = newLocalApps;
+
+        let newOtherApps = new Array();
+        for (let i = 0; i < otherApps.length; i++) {
+            if (otherApps[i].get_name() == "UXTerm") {
+                if (!uxterm) {
+                    uxterm = otherApps[i];
+                    uxterm._apps = new Array();
+                    if (!uxterm._get_windows) {
+                        uxterm._get_windows = uxterm.get_windows;
+                        uxterm.get_windows = function () {
+                            let ret = new Array();
+                            for (let k = 0; k < this._apps.length; k++) {
+                                let that_windows = this._apps[k]._get_windows ?
+                                    this._apps[k]._get_windows() :
+                                    this._apps[k].get_windows();
+                                for (let j = 0; j < that_windows.length; j++) {
+                                    ret.push(that_windows[j]);
+                                }
+                            }
+                            return ret;
+                        }
+                    }
+                    newOtherApps.push(uxterm);
+                }
+                uxterm._apps.push(otherApps[i]);
+            }
+            else {
+                newOtherApps.push(otherApps[i]);
+            }
+        }
+        otherApps = newOtherApps;
+
         this._appSwitcher = new AppSwitcher(localApps, otherApps, this);
         this.actor.add_actor(this._appSwitcher.actor);
         this._appSwitcher.connect('item-activated', Lang.bind(this, this._appActivated));

