[gnome-shell/wip/fmuellner/replace-app-menu: 9/10] panel: Desaturate appmenu icon



commit c52138521e1d30aa79497f672a08f4214bd9f353
Author: Florian Müllner <fmuellner gnome org>
Date:   Tue Feb 5 00:30:41 2019 +0100

    panel: Desaturate appmenu icon
    
    Top bar icons are supposed to by symbolic, but not all applications
    provide a symbolic icon. Make the stick out less by desaturating
    the appmenu icon if a symbolic style is requested.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/624

 js/ui/panel.js | 7 +++++++
 1 file changed, 7 insertions(+)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 684ea1fdf..e267a55b5 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -227,9 +227,16 @@ var AppMenuButton = GObject.registerClass({
         textureCache.connect('icon-theme-changed',
                              this._onIconThemeChanged.bind(this));
 
+        let iconEffect = new Clutter.DesaturateEffect();
         this._iconBox = new St.Bin({ style_class: 'app-menu-icon' });
+        this._iconBox.add_effect(iconEffect);
         this._container.add_actor(this._iconBox);
 
+        this._iconBox.connect('style-changed', () => {
+            let themeNode = this._iconBox.get_theme_node();
+            iconEffect.enabled = themeNode.get_icon_style() == St.IconStyle.SYMBOLIC;
+        });
+
         this._label = new St.Label({ y_expand: true,
                                      y_align: Clutter.ActorAlign.CENTER });
         this._container.add_actor(this._label);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]