Éditer:
On dirait que le problème était avec node-chrome-pak
. La modification de rocketman10404 data_pack.py
fonctionne très bien, même avec des icônes 32px:
Veuillez utiliser ses instructions à la place.
Réponse originale :
L'excellente réponse de @ rocketman10404 m'a conduit à node-chrome-pak , un script node.js qui peut compresser, décompresser et remplacer des ressources spécifiques dans les .pak
fichiers de Chrome / ium .
Bien que j'aie réussi à remplacer les icônes de notification chrome_100_percent.pak
avec cet outil, je dois signaler que je n'ai pas pu rendre les modifications visibles. Je pense que cela vaut la peine de décrire les mesures que j'ai prises pour obtenir ce point. J'espère que quelqu'un d'autre s'en occupera et trouvera un moyen de le faire fonctionner.
Installation de node.js
node-chrome-pak
aura besoin de node.js pour fonctionner. Vous pouvez installer la dernière version en ajoutant le PPA nodejs de Chris Lea:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
Télécharger le script et décompresser les ressources de Chrome
Téléchargez le script:
git clone https://bitbucket.org/hikipro/node-chrome-pak.git
cd node-chrome-pak
Copiez votre local chrome_100_percent.pak
sur:
cp /opt/google/chrome/chrome_100_percent.pak ./chrome_100_percent.pak
Décompressez le .pak
fichier:
node ./main.js unpack chrome_100_percent.pak
Identification et modification des icônes de notification
La dernière action aura créé un nouveau dossier appelé ./extracted
. Vous y trouverez toutes les ressources contenues dans le fichier pak. Ils sont nommés d'après leur ID de ressource. Vous souhaiterez conserver ce nom car il est important pour reconditionner les fichiers.
La partie difficile consiste maintenant à identifier les icônes correctes. Si je ne me trompe pas complètement, les fichiers suivants doivent être ceux utilisés dans le systray:
6864.png
6865.png
6866.png
6867.png
Après avoir identifié les icônes que vous cherchiez, vous pouvez procéder à leur modification et leur remplacement. Si vous le souhaitez, vous pouvez utiliser les icônes que j'ai créées à cet effet:
Les fichiers source et les .png
s exportés dans différentes résolutions sont hébergés sur GitHub .
Voici la première limitation que j'ai trouvée: Si vous remplacez les icônes par une image dans une résolution supérieure à celle de Google Chrome d'origine, elle sera corrompue et cessera de fonctionner correctement . Pour ce projet particulier, vous devrez rester avec une résolution 16x16. En effet, cela signifie que vous ne pourriez pas améliorer de manière significative les icônes de la barre d'état système actuelle, même si vous deviez faire fonctionner cette méthode.
Bien sûr, il est possible que cette limitation ait été introduite par la façon dont a node-chrome-pak
été conçu. Il peut être possible de remplacer les icônes par des icônes plus grandes si vous créez un script python personnalisé basé sur la réponse de @ rocketman10404.
Reconditionnement des ressources et remplacement des ressources existantes
Après avoir modifié / remplacé les icônes existantes, vous devrez créer un pak
fichier mis à jour ...
node ./main.js pack ./extracted ./chrome_100_percent_modified.pak
... et utilisez-le pour remplacer celui existant:
sudo cp ./chrome_100_percent_modified.pak /opt/google/chrome/chrome_100_percent.pak
Le cœur de cette méthode
Dans mes tentatives, je n'ai pas réussi à faire afficher à Chrome les icônes mises à jour. Même si je m'assurais que toutes les icônes étaient remplacées correctement et réellement présentes dans le pak
fichier modifié (en le déballant à nouveau), je ne pouvais toujours pas remplacer l'icône réelle dans la barre d'état système.
Malheureusement, je n'ai aucune idée pourquoi.
/usr/share/icons
, si cela vous aide