[overview] Constrain popup panes, dim workspaces when active

Rather than the popup panes taking up the whole non-panel height,
constrain them to the height of the workspaces, which is also the
"dash content area".

https://bugzilla.gnome.org/show_bug.cgi?id=600734
This commit is contained in:
Colin Walters 2009-11-06 17:15:34 -05:00
parent 66cab3b8ed
commit ce90dda76f

View File

@ -123,8 +123,7 @@ Overview.prototype = {
// Container to hold popup pane chrome. // Container to hold popup pane chrome.
this._paneContainer = new Big.Box({ orientation: Big.BoxOrientation.HORIZONTAL, this._paneContainer = new Big.Box({ orientation: Big.BoxOrientation.HORIZONTAL,
spacing: 6 spacing: 6 });
});
// Note here we explicitly don't set the paneContainer to be reactive yet; that's done // Note here we explicitly don't set the paneContainer to be reactive yet; that's done
// inside the notify::visible handler on panes. // inside the notify::visible handler on panes.
this._paneContainer.connect('button-release-event', Lang.bind(this, function(background) { this._paneContainer.connect('button-release-event', Lang.bind(this, function(background) {
@ -197,9 +196,9 @@ Overview.prototype = {
this._backOver.set_size(global.screen_width, global.screen_height); this._backOver.set_size(global.screen_width, global.screen_height);
this._paneContainer.set_position(this._dash.actor.x + this._dash.actor.width + DEFAULT_PADDING, this._paneContainer.set_position(this._dash.actor.x + this._dash.actor.width + DEFAULT_PADDING,
contentY); this._workspacesY);
// Dynamic width // Dynamic width
this._paneContainer.height = contentHeight; this._paneContainer.height = this._workspacesHeight;
this._transparentBackground.set_position(this._paneContainer.x, this._paneContainer.y); this._transparentBackground.set_position(this._paneContainer.x, this._paneContainer.y);
this._transparentBackground.set_size(primary.width - this._paneContainer.x, this._transparentBackground.set_size(primary.width - this._paneContainer.x,
@ -228,6 +227,7 @@ Overview.prototype = {
this._activeDisplayPane.close(); this._activeDisplayPane.close();
return true; return true;
})); }));
this._workspaces.actor.opacity = 64;
} else if (pane == this._activeDisplayPane) { } else if (pane == this._activeDisplayPane) {
this._activeDisplayPane = null; this._activeDisplayPane = null;
if (backgroundEventId != null) { if (backgroundEventId != null) {
@ -236,6 +236,7 @@ Overview.prototype = {
} }
this._transparentBackground.lower_bottom(); this._transparentBackground.lower_bottom();
this._paneContainer.lower_bottom(); this._paneContainer.lower_bottom();
this._workspaces.actor.opacity = 255;
} }
})); }));
}, },