Google Chrome baru-baru ini ditingkatkan ke versi 35.0.1916.114 pada instalasi Ubuntu 14.04 saya.
Sejak itu ikon pemberitahuan mulai muncul di baki sistem. Namun tampaknya itu menggunakan ikon resolusi rendah - terlihat terdistorsi:
Bagaimana saya bisa memperbaiki / menggantinya?
google-chrome
icons
notification
fabiomaia
sumber
sumber
/usr/share/icons
, jika itu membantu/opt
? Di situlah google binari diinstal.catfish
misalnya, atau metode lain yang memungkinkan Anda mencari di seluruh disk.Jawaban:
Sunting: lihat di bawah untuk pembaruan tentang penggantian ikon pemberitahuan
Jika binari chrome Anda dipasang di lokasi tipikal, Anda akan menemukannya
/opt/google/chrome
. Di folder itu Anda harus menemukan filechrome_100_percent.pak
yang berisi ikon notifikasi. Inilah langkah-langkah yang saya gunakan untuk mengekstraknya, menggunakan informasi dari pertanyaan stack overflow ini :Periksa kode ke grit-i18n dengan
svn checkout http://grit-i18n.googlecode.com/svn/trunk/ grit-i18n-read-only
Ini akan memberi Anda folder di CWD Anda yang disebut
grit-i18n-read-only
. CD ke dalam folder inicd grit-i18n-read-only
Salin modul data_pack python ke folder ini
cp grit/format/data_pack.py .
Edit
data_pack.py
dalam editor pilihan Anda. Setelah impor awal, tambahkan baris berikut:sys.path.append(os.getcwd())
Menjelang akhir file dalam
main
fungsi, hapus barisprint '%s: %s' % (resource_id, text)
(jawaban Stack Overflow menyatakan ini terjadi di baris 160, menurut pengalaman saya, versi saat ini ada di baris 201)
Sebagai gantinya, masukkan baris berikut indentasi dengan benar (3 kali):
file = open(str(resource_id), "wb")
file.write(text)
Jalankan
data_pack.py
utilitas pada file chrome pak (saya salin kegrit-i18n-read-only
folder terlebih dahulu):./data_pack.py ../chrome_100_percent.pak
Ini akan menghasilkan banyak file baru di direktori saat ini, semua dinamai sebagai angka tanpa ekstensi. Peramban file Anda (misalnya nautilus) harus dapat menentukan jenis file dan menampilkan thumbnail gambar. Saya menemukan ikon pemberitahuan bernama 6866 & 6867.
Edit
Meskipun ada beberapa jawaban sederhana di bawah ini, saya berhasil meretas beberapa kode untuk mengemas ulang sumber daya yang dapat Anda coba setelah mengedit ikon. Ini akan menghasilkan yang baru
.pak
file , yang belum saya coba gunakan sendiri, jadi saya tidak bisa mengatakan dengan pasti ini akan berhasil menghasilkan ikon pemberitahuan baru.Dalam fungsi utama
data_pack.py
, saya berkomentar semua kode dielse
blok dan menambahkan baris berikut:Kemudian, jalankan saja
./data_pack.py
. Asumsichrome_100_percent.pak
ini ada di direktori saat ini, dan akan memberi Andachrome_100_percent_new.pak
file baru yang dapat Anda coba salin/opt/google/chrome/chrome_100_percent.pak
.Saya percaya beberapa ikon tambahan di pak sumber daya terkait dengan ikon pemberitahuan telah diidentifikasi; mengedit di atas untuk memasukkan mereka harus cukup mudah.
Edit Terakhir
Sekarang saya kembali ke rumah dan berkesempatan untuk mengerjakan ini lagi, saya berhasil mengganti ikon pemberitahuan chrome. Seperti yang dicatat oleh @Glutanimate, Anda terjebak dengan resolusi 16x16, jadi saya tidak yakin berapa banyak perbaikan yang dapat Anda capai, tapi saya rasa itu subjektif.
Saya hanya membuka ikon yang disebutkan di atas (6864 - 6867) di GIMP, yang mendeteksi mereka sebagai Grayscale PNGs. Saya menempelkan ikon baru ke file yang sama di GIMP, sehingga berusaha untuk menjaga properti gambar yang sama (misalnya skala abu-abu). Saya kemudian mengekspor ini sebagai PNG, tidak menandai SEMUA opsi yang ditawarkan GIMP tetapi mempertahankan tingkat kompresi 9. File yang dihasilkan memiliki ekstensi .png, jadi saya menghapusnya dan mengganti yang asli. Saya kemudian berlari kembali
data_pack.py
, setelah membuat modifikasi rinci di atas.Saya menyimpan salinan cadangan pak asli
mv /opt/google/chrome/chrome_100_percent.pak /opt/google/chrome/chrome_100_percent.bak
dan memindahkan file .pak saya yang sudah dimodifikasi. Saya akan memastikan chrome ditutup saat melakukan ini, dan periksa kembali bahwa tidak ada proses chrome yang berjalan, dan saya percaya chrome memiliki pengaturan baru untuk memungkinkan proses latar belakang bahkan ketika browser ditutup secara default sekarang.Lihatlah, ikon notifikasi saya di Unity mencerminkan perubahan saya.
Sunting Terakhir-Final: Oke, saya bohong - Saya mencoba PNG 32x32 dan sepertinya berfungsi dengan baik. Jadi, begitulah. Berikut beberapa screenshot hasil.
(Sumber: Ikon batch dari Adam Whitcroft)
sumber
Edit:
Sepertinya masalah itu dengan
node-chrome-pak
. rocketman10404 yang dimodifikasidata_pack.py
berfungsi dengan baik, bahkan dengan ikon 32px:Silakan gunakan instruksinya sebagai gantinya.
Jawaban asli :
Jawaban luar biasa @ rocketman10404 membawa saya ke node-chrome-pak , script node.js yang dapat mengemas, membongkar dan mengganti sumber daya tertentu dalam
.pak
file Chrome / ium .Meskipun saya telah berhasil mengganti ikon pemberitahuan
chrome_100_percent.pak
dengan alat ini, saya harus melaporkan bahwa saya tidak dapat membuat perubahan terlihat. Namun saya pikir perlu upaya untuk menguraikan langkah-langkah yang saya ambil untuk mendapatkan poin ini. Semoga orang lain akan mengambil ini dan menemukan cara untuk benar-benar membuatnya bekerja.Menginstal node.js
node-chrome-pak
akan membutuhkan node.js untuk dijalankan. Anda dapat menginstal versi terbaru dengan menambahkan NPA Chris Lea:Mengunduh skrip dan membongkar sumber daya Chrome
Unduh skripnya:
Salin lokal Anda
chrome_100_percent.pak
ke:Buka paket
.pak
file:Mengidentifikasi dan memodifikasi ikon notifikasi
Tindakan terakhir akan membuat folder baru bernama
./extracted
. Di dalamnya Anda akan menemukan semua sumber daya yang terkandung dalam file pak. Mereka dinamai berdasarkan ID sumber daya mereka. Anda akan ingin mempertahankan nama ini karena penting untuk mengemas ulang file.Bagian yang sulit sekarang terletak pada mengidentifikasi ikon yang benar. Jika saya tidak sepenuhnya salah, file-file berikut ini haruslah yang digunakan dalam systray:
Setelah mengidentifikasi ikon yang Anda cari, Anda dapat melanjutkan untuk memodifikasi dan menggantinya. Jika mau, Anda dapat menggunakan ikon yang saya buat untuk tujuan ini:
File sumber dan yang diekspor
.png
dalam resolusi berbeda dihosting di GitHub .Inilah batasan pertama yang saya temukan: Jika Anda mengganti ikon dengan gambar dalam resolusi lebih tinggi dari Google Chrome asli akan rusak dan berhenti bekerja dengan baik . Untuk proyek khusus ini Anda harus tetap dengan resolusi 16x16. Akibatnya ini berarti Anda tidak akan dapat meningkatkan ikon systray saat ini secara signifikan, bahkan jika Anda ingin agar metode ini berfungsi.
Tentu saja ada kemungkinan bahwa batasan ini diperkenalkan dengan cara
node-chrome-pak
dirancang. Dimungkinkan untuk mengganti ikon dengan yang lebih besar jika Anda membuat skrip python khusus berdasarkan jawaban @ rocketman10404.Mengemas ulang sumber daya dan mengganti yang sudah ada
Setelah memodifikasi / mengganti ikon yang ada, Anda harus membuat
pak
file yang diperbarui ...... dan gunakan untuk mengganti yang sudah ada:
Inti dari metode ini
Dalam upaya saya, saya belum bisa membuat Chrome menampilkan ikon yang diperbarui. Bahkan jika saya memastikan bahwa semua ikon diganti dengan benar dan benar-benar ada dalam
pak
file yang dimodifikasi (dengan membongkar lagi), saya masih tidak dapat mengganti ikon yang sebenarnya di systray.Sayangnya saya tidak tahu mengapa ini terjadi.
sumber