Дублировать (Spotify) иконку в лаунчере

9

Я установил spotify в Ubuntu 13.04 и заблокировал значок на панели запуска. Но когда я полностью выхожу из программы или даже перезагружаюсь и использую этот значок, чтобы открыть spotify, создается новый значок или другой значок создается с символом? в теме.

Это чистая установка Ubuntu 13.04, поэтому мне было интересно, если это известная ошибка или был способ убедиться, что она просто не создала дублирующую иконку?

Обратите внимание: этого не произошло ни с одной другой установленной мной программой (Chrome & Steam).

Гордо
источник
2
Для меня это выглядит как ошибка в Spotify и должна быть сообщена им как ошибка. Я думаю, что они ожидают, что пользователь продолжит работу Spotify и использует индикатор, чтобы показать / скрыть его, а не выходить и позже перезапускать из Launcher. Обратите внимание на 2 разные стрелки рядом с 2 значками, один из которых указывает на значок запуска, а другой - на запущенный экземпляр. Я думаю, что слияние этих двух значков не является чем-то, что можно изменить в настройках.
Часов
1
Похоже, связано с тем, как скоро я запустил его на своем компьютере, подождал минуту, затем запустил - или завершил, а затем снова запустил, должно быть ошибкой в ​​том, как он запускает все свои сервисы - или он не ждет чего-то, что нужно для правильного запуска.
Матео
Это происходит или произошло с различными программами: это следствие того, как работает Unity (и, в частности, библиотека с именем bamf).
Алистер Бакстон
@AlistairBuxton, так что это ошибка в BAMF или Spotify?
Салем
1
Это ошибка в BAMF. См. Например: bugs.launchpad.net/unity-2d/+bug/704046 . bamf - это «инфраструктура сопоставления приложений bamf» - его задача - определить, принадлежат ли два окна одному и тому же приложению и, таким образом, должны располагаться под одним значком средства запуска или нет. Не существует надежного способа сделать это для всех приложений, поэтому bamf существует специально для обработки угловых случаев, таких как java и spotify.
Алистер Бакстон

Ответы:

11

Это ошибка, это частичный обходной путь.

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


Создайте новый модуль запуска, который StartupWMClass=Spotifyопределен.

Вы можете создать spotify.desktopфайл со следующим содержимым:

[Desktop Entry]
Name=Spotify
GenericName=Music Player
Comment=Listen to music using Spotify
Icon=spotify-client
Exec=spotify %U
TryExec=spotify
Terminal=false
Type=Application
Categories=Qt;Audio;Music;Player;AudioVideo
MimeType=x-scheme-handler/spotify
StartupWMClass=Spotify

Или отредактируйте оригинал из /opt/spotify/spotify-client/spotify.desktop(требуются права суперпользователя), добавив строку StartupWMClass=Spotifyв конце

Сохраните его где-нибудь, как «Документы». Затем перетащите его на панель запуска.

Это обеспечит открытие под этим значком окон с WMClass с именем spotify.

Код для получения WMClass окна:

xprop|grep WM_CLASS

Это возвращает следующее при щелчке в окне спуфити:

WM_CLASS(STRING) = "spotify", "Spotify"

(Это, кажется, только частично решает проблему, полное завершение, вероятно, снова приведет к двум значкам)

Примечание. Я заметил, что проблема начинает возникать все реже и реже, чем чаще я ее запускаю - возможно, это связано с тем, что в моей системе установлена ​​предзагрузка, это может помочь: https://apps.ubuntu.com/cat/applications/preload/

Mateo
источник
К сожалению, это решение не работает в Ubuntu 14.04. Если у вас есть другой обходной путь, пожалуйста, опубликуйте его.
Луис де Соуза
Нет, это та же самая ситуация, «даже если файл рабочего стола ниже, результаты кажутся противоречивыми и ошибочными». попробуйте разные комбинации закрытия окна / выхода из индикатора, затем блокировку / разблокировку модуля запуска, а также редактирование модуля запуска/usr/share/applications
Mateo
2

Затем удалите значок в модуле запуска, который вы ранее заблокировали для модуля запуска, и отметьте значок, который появился после модуля запуска.

Я не говорю, что делаю это каждый раз . Я думаю, что программа запуска каждый раз откуда-то получает доступ к одному и тому же значку. Так что удалите заблокированный и оставьте новый. Затем перезагрузите компьютер и попробуйте снова.

rɑːdʒɑ
источник
В Ubuntu 14.04 эта процедура удаляет все значки Spotify из панели запуска.
Луис де Соуза
1

Вы можете избежать этой ошибки, если сначала щелкните «Скрыть Spotify» (в значке на панели задач), прежде чем полностью выйти из Spotify.

fabiomaia
источник
Не решение для Ubuntu 14.04.
Луис де Соуза