Don't proxy methods through overview; add a getWorkspacesForWindow()
Duplicating the methods was unnecessary. Also, we want a getWorkspacesForWindow() method as preparation for multi-monitor work. https://bugzilla.gnome.org/show_bug.cgi?id=594699
This commit is contained in:
parent
2812c21322
commit
33f9895d71
@ -848,8 +848,8 @@ RunningWellItem.prototype = {
|
||||
|
||||
if (this._menu == null) {
|
||||
this._menu = new WellMenu(this);
|
||||
this._menu.connect('highlight-window', Lang.bind(this, function (menu, window) {
|
||||
Main.overview.setHighlightWindow(window);
|
||||
this._menu.connect('highlight-window', Lang.bind(this, function (menu, metaWindow) {
|
||||
Main.overview.getWorkspacesForWindow(metaWindow).setHighlightWindow(metaWindow);
|
||||
}));
|
||||
this._menu.connect('popup', Lang.bind(this, function (menu, isPoppedUp) {
|
||||
let id;
|
||||
@ -858,7 +858,8 @@ RunningWellItem.prototype = {
|
||||
id = this.appInfo.get_id();
|
||||
else
|
||||
id = null;
|
||||
Main.overview.setApplicationWindowSelection(id);
|
||||
|
||||
Main.overview.getWorkspacesForWindow(null).setApplicationWindowSelection(id);
|
||||
}));
|
||||
}
|
||||
|
||||
|
@ -386,6 +386,18 @@ Overview.prototype = {
|
||||
this.show();
|
||||
},
|
||||
|
||||
/**
|
||||
* getWorkspacesForWindow:
|
||||
* @metaWindow: A #MetaWindow
|
||||
*
|
||||
* Returns the Workspaces object associated with the given window.
|
||||
* This method is not be accessible if the overview is not open
|
||||
* and will return %null.
|
||||
*/
|
||||
getWorkspacesForWindow: function(metaWindow) {
|
||||
return this._workspaces;
|
||||
},
|
||||
|
||||
/**
|
||||
* activateWindow:
|
||||
* @metaWindow: A #MetaWindow
|
||||
@ -401,31 +413,6 @@ Overview.prototype = {
|
||||
this.hide();
|
||||
},
|
||||
|
||||
/**
|
||||
* setHighlightWindow:
|
||||
* @metaWindow: A #MetaWindow
|
||||
*
|
||||
* Draw the user's attention to the given window @metaWindow.
|
||||
*/
|
||||
setHighlightWindow: function (metaWindow) {
|
||||
if (this._workspaces)
|
||||
this._workspaces.setHighlightWindow(metaWindow);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* setApplicationWindowSelection:
|
||||
* @appid: Application identifier string
|
||||
*
|
||||
* Enter a mode which shows only the windows owned by the
|
||||
* given application, and allow highlighting of a specific
|
||||
* window with setHighlightWindow().
|
||||
*/
|
||||
setApplicationWindowSelection: function (appid) {
|
||||
if (this._workspaces)
|
||||
this._workspaces.setApplicationWindowSelection(appid);
|
||||
},
|
||||
|
||||
//// Private methods ////
|
||||
|
||||
_showDone: function() {
|
||||
|
@ -544,6 +544,13 @@ Workspace.prototype = {
|
||||
return -1;
|
||||
},
|
||||
|
||||
/**
|
||||
* lookupCloneForMetaWindow:
|
||||
* @metaWindow: A #MetaWindow
|
||||
*
|
||||
* Given a #MetaWindow instance, find the WindowClone object
|
||||
* which represents it in the workspaces display.
|
||||
*/
|
||||
lookupCloneForMetaWindow: function (metaWindow) {
|
||||
let index = this._lookupIndex (metaWindow);
|
||||
return index < 0 ? null : this._windows[index];
|
||||
@ -573,6 +580,12 @@ Workspace.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* setHighlightWindow:
|
||||
* @metaWindow: A #MetaWindow
|
||||
*
|
||||
* Draw the user's attention to the given window @metaWindow.
|
||||
*/
|
||||
setHighlightWindow: function (metaWindow) {
|
||||
for (let i = 0; i < this._windows.length; i++) {
|
||||
this._windows[i].actor.lower(this._lightbox);
|
||||
@ -1157,7 +1170,14 @@ Workspaces.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
// See comments in overview.js
|
||||
/**
|
||||
* setApplicationWindowSelection:
|
||||
* @appid: Application identifier string
|
||||
*
|
||||
* Enter a mode which shows only the windows owned by the
|
||||
* given application, and allow highlighting of a specific
|
||||
* window with setHighlightWindow().
|
||||
*/
|
||||
setApplicationWindowSelection: function (appId) {
|
||||
let appSys = Shell.AppMonitor.get_default();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user