Bug 591763 - Add application window menu

When we have multiple windows for an application, implement the following
behavior:

* On click + immediate release, go to the most recently used
* On click, hold for 0.6s, pop up a menu with windows, filtering
  the window list to just those windows.
  Mouse over on the window list highlights the moused-over window.

Implement this by splitting well item into InactiveWellItem
and RunningWellItem, sharing a base class BaseWellItem.
This commit is contained in:
Colin Walters
2009-09-01 14:15:29 -04:00
parent 22c445cffc
commit 25410a730e
6 changed files with 584 additions and 46 deletions

View File

@ -232,7 +232,7 @@ Overview.prototype = {
// This allows the user to place the item on any workspace.
handleDragOver : function(source, actor, x, y, time) {
if (source instanceof GenericDisplay.GenericDisplayItem
|| source instanceof AppDisplay.WellDisplayItem) {
|| source instanceof AppDisplay.BaseWellItem) {
if (this._activeDisplayPane != null)
this._activeDisplayPane.close();
return true;
@ -390,6 +390,29 @@ 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);
},
/**
* setWindowApplicationFilter:
* @id: A string application identifier
*
* Hide all windows which are not owned by the application
* identified by @id.
*/
setWindowApplicationFilter: function (id) {
if (this._workspaces)
this._workspaces.setWindowApplicationFilter(id);
},
//// Private methods ////
_showDone: function() {