notification: Show symbolic icons in a circle and smaller

Huge symbolic icons look bad therefore we special case them, this
obviously can only work for icons that use the system icons.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3066>
This commit is contained in:
Julian Sparber 2023-12-19 16:12:59 +01:00
parent f233aebe3a
commit 8fed0b83d0
2 changed files with 13 additions and 4 deletions

View File

@ -137,6 +137,14 @@
> StIcon {
icon-size: $base_icon_size * 3; // 48px
-st-icon-style: symbolic;
.message-themed-icon {
border-radius: $forced_circular_radius; // is circular
background-color: transparentize($fg_color, 0.8);
icon-size: $base_icon_size;
min-width: $base_icon_size * 3;
min-height: $base_icon_size * 3;
}
}
}

View File

@ -790,10 +790,11 @@ class NotificationMessage extends MessageList.Message {
}
_getIcon() {
if (this.notification.gicon) {
return new St.Icon({
gicon: this.notification.gicon,
});
const {gicon} = this.notification;
if (gicon) {
const styleClass =
gicon instanceof Gio.ThemedIcon ? 'message-themed-icon' : '';
return new St.Icon({gicon, styleClass});
} else {
return null;
}