Sinkronkan ikon antara .desktop dan dock

Jun 02 2020

Saya membuat entri .desktop khusus di direktori beranda saya, ~/.local/share/applications/startMyApp.desktopsaya membuatnya sehingga akan menggunakan xterm alih-alih gnome-terminal. Saya ingin itu memiliki tampilan yang berbeda di dermaga dari gnome-terminal saya yang saya gunakan secara interaktif.

The startMyApp.desktopterlihat seperti:

[Desktop Entry]
Type=Application
Name=MyScript
Terminal=false
Exec=xterm -e myScript.sh
Icon=myIcon.png

Saya telah membuat file ikon di ~/.icons/myIcon.png

Ikon muncul dengan benar di browser file default. Ketika dibuka dari peramban berkas, itu mengeksekusi skrip dalam xterm seperti yang diharapkan, namun, ikon di dok muncul sebagai ikon xterm umum lainnya. Dari mana asalnya ikon itu? Apakah itu tertanam dalam biner?

Bagaimana saya bisa mengubahnya? Saya ingin ikon di dok muncul sama seperti yang ditentukan di .desktopfile. Aplikasi yang dibundel dengan Ubuntu memiliki ikon yang sama di dok saat diluncurkan (selain dari titik merah yang menunjukkan berapa banyak jendela yang terbuka).

Jawaban

pomsky Jun 01 2020 at 22:18

Anda perlu menambahkan StartupWMClassentri yang tepat ke .desktopfile Anda . Untuk melakukan ini ikuti langkah-langkah di bawah ini.

  1. Luncurkan aplikasi yang dimaksud.
  2. Luncurkan jendela Terminal terpisah dan jalankan xprop WM_CLASS.
  3. Tempatkan kursor di atas jendela aplikasi yang sedang dibuka. Kursor harus berubah menjadi bidik sekarang. Klik. Anda harus mendapatkan WM_CLASSstring untuk aplikasi di jendela Terminal.
  4. Dalam .desktopfile tersebut tambahkan baris berikut

    StartupWMClass=OBTAINED-VALUE
    

    Sebagai gantinya, OBTAINED-VALUEberikan nilai yang Anda dapatkan dari langkah 3 tanpa tanda kutip.


Perbarui dari OP:

juga sepertinya saya perlu memberikan nama untuk contoh xterm. Baris eksekutif sekarang terlihat sepertixterm -name myApp -e myScript.sh