web-dev-qa-db-fra.com

Existe-t-il un moyen de savoir quel est le nom d'une icône qui se trouve dans la barre inférieure, sur Gnome 3?

Existe-t-il un moyen de savoir quel est le nom d'une icône qui se trouve dans la barre inférieure, sur Gnome 3?

Par exemple, le nom de l'icône d'Audacious est audacious, pour Dropbox c'est dropbox... J'ai besoin de leurs noms pour les écrire sur l'extension Status Icon Fixer pour Gnome 3.

J'ai essayé:

StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS ['LibreOffice 3.5 Quickstarter'] = 'LibreOffice 3.5 Quickstarter';

Mais ça n'a pas marché.

J'ai besoin du nom de l'icône Google Chrome de la barre d'arrière-plan et du démarrage rapide de LibreOffice 3.5.

Je vous remercie!

4
David M. Sousa

J'ai obtenu le nom de LibreOffice 3.5 Quickstarter de System Monitor et de Google Chrome est google-chrome.

Ajouter:

StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['soffice'] = 'soffice';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['google-chrome'] = 'google-chrome';

à:

.../gnome-Shell/extensions/[email protected]/extension.js

N'ont toujours trouvé aucun moyen de récupérer les noms des icônes.

3
David M. Sousa

Ceci est entièrement tiré de https://github.com/brianhsu/EvilStatusIconForever

Par conséquent, les crédits vont au brianhsu.

Cela peut borken votre GNOME, SOYEZ PRUDENT ET SAUVEGARDE D'ABORD !!!! Pour cela, vous avez besoin d'une prémission racine. Modifier /usr/share/gnome-Shell/js/ui/statusIconDispatcher.js

Passez à la ligne 48, vous devriez voir une fonction appelée _onTrayIconAdded qui ressemble à ceci:

_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);
},    

Ajoutez global.log ("wmClass [] =" + wmClass); après la ligne de let role = ..., cette fonction devrait maintenant ressembler à ceci:

_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); },

Redémarrez GNOME 3 en appuyant sur Alt + F2 et r et appuyez sur Entrée.

Démarrez la console GNOME en appuyant sur Alt + F2 et lg et appuyez sur Entrée.

Passez à l'onglet Erreurs, vous devriez maintenant voir un message comme celui-ci:

wmClass [] = Pidgin

... qui est le nom de l'icône à utiliser dans Status Icon Fixer.

0
nimai