diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js index 9dc809b4d..0e01e9aac 100644 --- a/js/ui/unlockDialog.js +++ b/js/ui/unlockDialog.js @@ -514,10 +514,18 @@ var UnlockDialog = GObject.registerClass({ this._backgroundGroup.add_child(widget); - widget.add_effect(new Shell.BlurEffect({ + const themeContext = St.ThemeContext.get_for_stage(global.stage); + + let effect = new Shell.BlurEffect({ brightness: BLUR_BRIGHTNESS, - sigma: BLUR_SIGMA, - })); + sigma: BLUR_SIGMA * themeContext.scale_factor, + }); + + this._scaleChangedId = themeContext.connect('notify::scale-factor', () => { + effect.sigma = BLUR_SIGMA * themeContext.scale_factor; + }); + + widget.add_effect(effect); } _updateBackgrounds() { @@ -679,6 +687,12 @@ var UnlockDialog = GObject.registerClass({ Main.layoutManager.disconnect(this._monitorsChangedId); delete this._monitorsChangedId; } + + let themeContext = St.ThemeContext.get_for_stage(global.stage); + if (this._scaleChangedId) { + themeContext.disconnect(this._scaleChangedId); + delete this._scaleChangedId; + } } cancel() {