[gnome-shell] userWidget: Handle non-square icons gracefully
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] userWidget: Handle non-square icons gracefully
- Date: Mon, 29 Jul 2019 16:31:49 +0000 (UTC)
commit 5fc456d9d9413d8c5c87569dc9c57fc19d93c5f9
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Jul 10 17:18:16 2019 +0200
userWidget: Handle non-square icons gracefully
We currently assume that user icons are square, which is the case when
set by the users settings panel, but not enforced by AccountsService.
Handle that case by moving the pixel size back to the actor and using
an appropriate background-size style property of 'cover' (which means
the smallest dimension of the image is scaled to fit the desired size).
https://gitlab.gnome.org/GNOME/gnome-shell/issues/1144
js/ui/userWidget.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/userWidget.js b/js/ui/userWidget.js
index 232a5f181..a24f37a3f 100644
--- a/js/ui/userWidget.js
+++ b/js/ui/userWidget.js
@@ -46,9 +46,13 @@ var Avatar = class {
if (iconFile) {
this.actor.child = null;
+ let { scaleFactor } = St.ThemeContext.get_for_stage(global.stage);
+ this.actor.set_size(
+ this._iconSize * scaleFactor,
+ this._iconSize * scaleFactor);
this.actor.style = `
background-image: url("${iconFile}");
- background-size: ${this._iconSize}px`;
+ background-size: cover;`;
} else {
this.actor.style = null;
this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]