From 928595fe21f7f076114123de2dcc9adb64d3425e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 22 Jul 2018 03:31:54 +0200 Subject: [PATCH] windowManager: Change effect's brightness property The set_brightness() method is the most convenient way of controlling the effect's brightness, but Clutter animations only deal with properties, so start using the (ClutterColor) brightness property instead. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/666 --- js/ui/windowManager.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index f7e4dc211..1d1f244ad 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -127,7 +127,8 @@ var WindowDimmer = class { } _syncEnabled() { - this._brightnessEffect.enabled = (this._enabled && this._dimFactor > 0); + let dimmed = this._brightnessEffect.brightness.red != 127; + this._brightnessEffect.enabled = (this._enabled && dimmed); } setEnabled(enabled) { @@ -144,14 +145,17 @@ var WindowDimmer = class { time: (dimmed ? DIM_TIME : UNDIM_TIME) / 1000, transition: 'linear', onUpdate: () => { - let brightness = this._dimFactor * DIM_BRIGHTNESS; - this._brightnessEffect.set_brightness(brightness); + let val = 127 * (1 + this._dimFactor * DIM_BRIGHTNESS); + let color = Clutter.Color.new(val, val, val, 255); + this._brightnessEffect.brightness = color; this._syncEnabled(); } }); } else { this._dimFactor = factor; - this._brightnessEffect.set_brightness(factor * DIM_BRIGHTNESS); + let val = 127 * (1 + this._dimFactor * DIM_BRIGHTNESS); + let color = Clutter.Color.new(val, val, val, 255); + this._brightnessEffect.brightness = color; this._syncEnabled(); } }