[gnome-shell] WindowManager: WORKAROUND: disable dimming in the overview
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] WindowManager: WORKAROUND: disable dimming in the overview
- Date: Sun, 19 Jan 2014 15:39:13 +0000 (UTC)
commit 3a26f7f4d5699848e248e35f4f82760ca36db819
Author: Giovanni Campagna <gcampagna src gnome org>
Date: Sun Jan 19 16:12:15 2014 +0100
WindowManager: WORKAROUND: disable dimming in the overview
Clones and effects don't mix, due to a bug in Clutter we don't
know how to fix, and sometimes the clone is clipped completely.
As a workaround, undim windows with dialogs in the overview.
Clutter bug: https://bugzilla.gnome.org/show_bug.cgi?id=659523
https://bugzilla.gnome.org/show_bug.cgi?id=650843
js/ui/windowManager.js | 9 +++++++++
js/ui/workspace.js | 14 --------------
js/ui/workspaceThumbnail.js | 14 --------------
3 files changed, 9 insertions(+), 28 deletions(-)
---
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index 6ae0ad7..4c7cac4 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -569,6 +569,15 @@ const WindowManager = new Lang.Class({
Shell.KeyBindingMode.TOPBAR_POPUP,
Lang.bind(this, this._toggleAppMenu));
+ Main.overview.connect('showing', Lang.bind(this, function() {
+ for (let i = 0; i < this._dimmedWindows.length; i++)
+ this._undimWindow(this._dimmedWindows[i]);
+ }));
+ Main.overview.connect('hiding', Lang.bind(this, function() {
+ for (let i = 0; i < this._dimmedWindows.length; i++)
+ this._dimWindow(this._dimmedWindows[i]);
+ }));
+
if (Main.sessionMode.hasWorkspaces)
this._workspaceTracker = new WorkspaceTracker(this);
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 6454237..65aef36 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -194,7 +194,6 @@ const WindowClone = new Lang.Class({
addAttachedDialog: function(win) {
this._doAddAttachedDialog(win, win.get_compositor_private());
this._computeBoundingBox();
- this._updateDimmer();
this.emit('size-changed');
},
@@ -208,7 +207,6 @@ const WindowClone = new Lang.Class({
clone.destroy();
this._computeBoundingBox();
- this._updateDimmer();
this.emit('size-changed');
}));
this.actor.add_child(clone);
@@ -228,18 +226,6 @@ const WindowClone = new Lang.Class({
return true;
});
this.metaWindow.foreach_transient(iter);
-
- this._dimmer = new WindowManager.WindowDimmer(this._windowClone);
- this._updateDimmer();
- },
-
- _updateDimmer: function() {
- if (this.actor.get_n_children() > 1) {
- this._dimmer.setEnabled(true);
- this._dimmer.dimFactor = 1.0;
- } else {
- this._dimmer.setEnabled(false);
- }
},
get boundingBox() {
diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js
index 7fc37c8..f51b1fa 100644
--- a/js/ui/workspaceThumbnail.js
+++ b/js/ui/workspaceThumbnail.js
@@ -106,9 +106,6 @@ const WindowClone = new Lang.Class({
return true;
});
this.metaWindow.foreach_transient(iter);
-
- this._dimmer = new WindowManager.WindowDimmer(this.clone);
- this._updateDimmer();
},
// Find the actor just below us, respecting reparenting done
@@ -148,7 +145,6 @@ const WindowClone = new Lang.Class({
addAttachedDialog: function(win) {
this._doAddAttachedDialog(win, win.get_compositor_private());
- this._updateDimmer();
},
_doAddAttachedDialog: function(metaDialog, realDialog) {
@@ -159,20 +155,10 @@ const WindowClone = new Lang.Class({
Lang.bind(this, this._updateDialogPosition, clone));
clone._destroyId = realDialog.connect('destroy', Lang.bind(this, function() {
clone.destroy();
- this._updateDimmer();
}));
this.actor.add_child(clone);
},
- _updateDimmer: function() {
- if (this.actor.get_n_children() > 1) {
- this._dimmer.setEnabled(true);
- this._dimmer.dimFactor = 1.0;
- } else {
- this._dimmer.setEnabled(false);
- }
- },
-
_updateDialogPosition: function(realDialog, cloneDialog) {
let metaDialog = realDialog.meta_window;
let dialogRect = metaDialog.get_outer_rect();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]