windowManager: Update dim effect

The combination of desaturating and lowering the brightness does
not work too well in all cases, in particular for applications
using the dark theme variant. Dropping the desaturation effect and
making the brightness adjustment more profound gives a better
result.

https://bugzilla.gnome.org/show_bug.cgi?id=681601
This commit is contained in:
Florian Müllner 2012-08-10 14:39:42 +02:00
parent 028e83181b
commit ca7c4edd41

View File

@ -15,8 +15,7 @@ const Tweener = imports.ui.tweener;
const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings'; const SHELL_KEYBINDINGS_SCHEMA = 'org.gnome.shell.keybindings';
const WINDOW_ANIMATION_TIME = 0.25; const WINDOW_ANIMATION_TIME = 0.25;
const DIM_DESATURATION = 0.6; const DIM_BRIGHTNESS = -0.3;
const DIM_BRIGHTNESS = -0.1;
const DIM_TIME = 0.500; const DIM_TIME = 0.500;
const UNDIM_TIME = 0.250; const UNDIM_TIME = 0.250;
@ -25,22 +24,18 @@ const WindowDimmer = new Lang.Class({
Name: 'WindowDimmer', Name: 'WindowDimmer',
_init: function(actor) { _init: function(actor) {
this._desaturateEffect = new Clutter.DesaturateEffect();
this._brightnessEffect = new Clutter.BrightnessContrastEffect(); this._brightnessEffect = new Clutter.BrightnessContrastEffect();
actor.add_effect(this._desaturateEffect);
actor.add_effect(this._brightnessEffect); actor.add_effect(this._brightnessEffect);
this.actor = actor; this.actor = actor;
this._dimFactor = 0.0; this._dimFactor = 0.0;
}, },
setEnabled: function(enabled) { setEnabled: function(enabled) {
this._desaturateEffect.enabled = enabled;
this._brightnessEffect.enabled = enabled; this._brightnessEffect.enabled = enabled;
}, },
set dimFactor(factor) { set dimFactor(factor) {
this._dimFactor = factor; this._dimFactor = factor;
this._desaturateEffect.set_factor(factor * DIM_DESATURATION);
this._brightnessEffect.set_brightness(factor * DIM_BRIGHTNESS); this._brightnessEffect.set_brightness(factor * DIM_BRIGHTNESS);
}, },