Ubuntu Linux: как убрать двойной значок на панели задач Cairo Dock при вызове программы на основе Java (jar)?

Ubuntu Linux: как убрать двойной значок на панели задач Cairo Dock при вызове программы на основе Java (jar)?

Я хочу назначить значок для SoftSqueeze (программное радио на базе Logitech Squeezebox, написанное на Java) в Ubuntu 20.04 с Gnome 3.

Я создал файл .desktop в ~/.loca/share/applications:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=SoftSqueeze
Icon=/opt/softsqueeze_3.9.2/icons/icon256.xpm
Exec=java -jar /opt/softsqueeze_3.9.2/SoftSqueeze.jar
Terminal=false
StartupNotify=false
StartupWMClass=SoftSqueeze
NoDisplay=false
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
X-UnityGenerated=true

После этого приложение находится с правильно установленной иконкой (выше указанной в Icon=), но если я запускаю приложение, вместо нее отображаются забавные пикселизированные наушники.

В доке Cairo я создал лаунчер, добавив новый и дав ему правильную команду и иконку с ним. Он также придумал неправильную иконку (смешные пикселизированные наушники).

Я предполагаю, что этот значок «наушников» может быть установлен внутри банки мягкого нажима.

Как назначить правильный значок в Gnome 3 и в доке Cairo?

решение1

Решение: Нужно назначить WM_CLASS (в доке Cairo он называется «Класс программы», его можно найти в дополнительных параметрах записи «Рабочий стол»). Это что-то вроде связи между менеджером окон и экземпляром самой программы, поэтому я бы объяснил, что при правильной установке этой связи менеджеру окон не нужно создавать еще один «экземпляр» значка (двойной значок, который в моем случае также выглядел по-другому (тем не менее, решение должно работать, если значок тот же, но двойной), и даже в программах на основе Python или других скриптов):

Для Gnome 3 я использую в терминале следующую команду:

xprop | grep WM_CLASS

Я щелкнул затем с указателем, показанным на уже запущенном и показанном приложении Java на переднем плане и получил имя WM_CLASS в окне терминала. Это я должен добавить в запись .desktop выше как свойство "StartUpWMClass". Сохраните файл, и значок jar исчезнет.

В моем случае это было

StartupWMClass=org-titmuss-softsqueeze-Application

То же самое вам нужно сделать с дополнительными параметрами вашего рабочего стола в доке Cairo. Тогда значок "наушники" исчезнет, ​​и ваш установленный значок будет единственным значком при запуске приложения.

Ссылка: Описание ошибки на Launchpad, которое очень помогло мне найти решение

Связанный контент