diff --git a/appIcons.js b/appIcons.js index cbfdfd5..ecb66ca 100644 --- a/appIcons.js +++ b/appIcons.js @@ -65,7 +65,8 @@ export const DEFAULT_PADDING_SIZE = 4; let APPICON_STYLE = { NORMAL: "NORMAL", - SYMBOLIC: "SYMBOLIC" + SYMBOLIC: "SYMBOLIC", + GRAYSCALE: "GRAYSCALE" } let DOT_STYLE = { @@ -653,6 +654,13 @@ export const TaskbarAppIcon = GObject.registerClass({ this.add_style_class_name(symbolic_icon_style_name); } else { this.remove_style_class_name(symbolic_icon_style_name); + if (SETTINGS.get_string('appicon-style') === APPICON_STYLE.GRAYSCALE) { + let desaturationValue = 1.0 + let sat_effect = new Clutter.DesaturateEffect({factor : desaturationValue}); + sat_effect.set_factor(desaturationValue); + this._iconContainer.add_effect_with_name('desaturate', sat_effect); + } + } } diff --git a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml index a73a349..b5898b7 100644 --- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml +++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml @@ -3,6 +3,7 @@ + diff --git a/ui/SettingsStyle.ui b/ui/SettingsStyle.ui index 3267bcf..e461782 100644 --- a/ui/SettingsStyle.ui +++ b/ui/SettingsStyle.ui @@ -113,6 +113,7 @@ Normal Symbolic + Grayscale