diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 7ab1b76d2..d11051943 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -102,6 +102,7 @@ Notification.prototype = { this.source = source; this.urgent = false; this.expanded = false; + this._useActionIcons = false; this._customContent = false; this._bannerBodyText = null; this._titleFitsInBannerMode = true; @@ -346,7 +347,7 @@ Notification.prototype = { let button = new St.Button(); - if (Gtk.IconTheme.get_default().has_icon(id)) { + if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(id)) { button.add_style_class_name('notification-icon-button'); button.child = St.TextureCache.get_default().load_icon_name(id, St.IconType.SYMBOLIC, BUTTON_ICON_SIZE); } else { @@ -363,6 +364,10 @@ Notification.prototype = { this.urgent = urgent; }, + setUseActionIcons: function(useIcons) { + this._useActionIcons = useIcons; + }, + _styleChanged: function() { this._spacing = this.actor.get_theme_node().get_length('spacing-columns'); }, diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index 88fbc00e0..5bebb170d 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -294,6 +294,7 @@ NotificationDaemon.prototype = { } if (actions.length) { + notification.setUseActionIcons(hints['action-icons'] == true); for (let i = 0; i < actions.length - 1; i += 2) notification.addButton(actions[i], actions[i + 1]); } @@ -317,6 +318,7 @@ NotificationDaemon.prototype = { GetCapabilities: function() { return [ 'actions', + 'action-icons', 'body', // 'body-hyperlinks', // 'body-images', @@ -325,7 +327,6 @@ NotificationDaemon.prototype = { 'icon-static', 'persistence', // 'sound', - 'x-gnome-icon-buttons' ]; },