When in window filtering mode, reset filter before showing window

When we had a filtered set of windows, and want to exit the overview
into a particular window, what we do is re-show all the old windows
first, but don't reset the scaling on them.  This will involve
some overlapping, but that's not a big deal because we'll immediately
get overlap anyways in the normal case zooming the windows back.

https://bugzilla.gnome.org/show_bug.cgi?id=594699
This commit is contained in:
Colin Walters
2009-09-11 12:39:59 -04:00
parent 33f9895d71
commit 9feda69888
3 changed files with 77 additions and 26 deletions

View File

@ -663,6 +663,7 @@ WellMenu.prototype = {
_onMenuButtonRelease: function (actor, event) {
let clone = this._findWindowCloneForActor(event.get_source());
if (clone) {
this.didActivateWindow = true;
Main.overview.activateWindow(clone.metaWindow, event.get_time());
}
},
@ -707,6 +708,7 @@ WellMenu.prototype = {
_onWindowActivate: function (actor, child) {
let metaWindow = child._window;
this.didActivateWindow = true;
Main.overview.activateWindow(metaWindow, Clutter.get_current_event_time());
this.emit('popup', false);
this.actor.hide();
@ -854,6 +856,10 @@ RunningWellItem.prototype = {
this._menu.connect('popup', Lang.bind(this, function (menu, isPoppedUp) {
let id;
// If we successfully picked a window, don't reset the workspace
// state, since picking a window already did that.
if (!isPoppedUp && menu.didActivateWindow)
return;
if (isPoppedUp)
id = this.appInfo.get_id();
else