This is entirely taken from https://github.com/brianhsu/EvilStatusIconForever
Therefore, credits go to brianhsu.
This may borken your GNOME, BE CAREFUL AND BACKUP FIRST!!!! You need
root premission to do this. Edit
/usr/share/gnome-shell/js/ui/statusIconDispatcher.js
Move to line 48,
you should see a function called _onTrayIconAdded which look like the
following:
_onTrayIconAdded: function(o, icon) {
let wmClass = (icon.wm_class || 'unknown').toLowerCase();
let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass];
if (role)
this.emit('status-icon-added', icon, role);
else
this.emit('message-icon-added', icon);
},
Add global.log("wmClass[] = " + wmClass); after the line of let role = ..., now this function should look like the following:
_onTrayIconAdded: function(o, icon) {
let wmClass = (icon.wm_class || 'unknown').toLowerCase();
let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass];
global.log("wmClass[] = " + wmClass);
if (role)
this.emit('status-icon-added', icon, role);
else
this.emit('message-icon-added', icon); },
Restart GNOME 3 by press Alt + F2 and r and hit enter.
Start GNOME console by press Alt + F2 and lg and hit enter.
Switch to Errors tab, now you should see message like the following:
wmClass[] = pidgin
... which is the icon name to be used in Status Icon Fixer.