Дублирующиеся иконки для созданных вручную элементов запуска GNOME

46

Я скачал Aptana Studio 3 и создал следующий элемент запуска для использования Alacarte:

файл: alacarte-made.desktop

[Desktop Entry]
Comment=
Terminal=false
Name=Aptana Studio 3
Exec=AptanaStudio3
Type=Application
Icon=/opt/Aptana-Studio-3/icon.xpm

Затем, когда я добавляю значок в избранное и открываю Aptana Studio 3, я получаю два значка для него: один для запуска новых экземпляров и один для текущего запущенного экземпляра, как показано на следующем снимке экрана:

введите описание изображения здесь

Как заставить приложение использовать тот же значок, добавленный в избранное?

malhobayyeb
источник
Подскажите, пожалуйста, как вы установили Aptana? С официального сайта все, что я вижу, - это отдельный zip-файл. (что-то вроде переносимых приложений в windows).
Hytromo
Да, так и было.
Малхобайеб
Итак, как это закончилось /opt? Кроме того, это на вашем $PATH? Как, указав только AptanaStudio3в файле рабочего стола, он может работать?
Hytromo
1
Я сделал это, спасибо. Я создал ссылку Sym в / usr / bin на /opt/.../aptana. Это была просто проблема именования. Я должен был назвать .desktop и bin и ссылку точно так же :)
malhobayyeb
3
Пожалуйста, ответьте подробно ниже, как вам удалось решить вашу проблему :) (Я не знаю, я только задавал вам несколько вопросов)
hytromo

Ответы:

67

Чтобы сохранить просеивание через поток, упомянутый @earthmeLon, вам нужно сделать следующее:

  1. Запустите приложение
  2. Запустите терминал и бегите xprop WM_CLASS. Нажмите на окно приложения.
  3. Вы получите некоторый результат, как WM_CLASS(STRING) = "Navigator", "Firefox". Выберите один из классов, например, Firefoxв этом примере
  4. Добавьте класс в качестве значения StartupWMClassв .desktopфайле. Например,StartupWMClass=Firefox
  5. Сохраните .desktopфайл, закройте приложение и снова откройте его. Теперь в лаунчере должен быть только 1 значок
Эрин Драммонд
источник
3
Для тех, у кого такая же проблема в GNOME, вы можете использовать MenuLibre: при редактировании соответствующей записи вы найдете поле для установки StatupWMClass в списке, который появляется при нажатии кнопки «Дополнительно»
conceptdeluxe
Если кто-то пытается решить проблему с mendeleyисполняемым файлом, не забудьте также отредактировать .../bin/install-mendeley-link-handler.sh, потому что он переопределяет .desktopфайл при каждом запуске
MInner
TLDR; * .desktop filename = WM_CLASS (STRING) последний элемент, но в нижнем регистре. Подробности: мне пришлось решить эту проблему при создании ярлыка "Firefox Developer edition". Присвоение имени файлу firefox.desktop просто затеняет стандартную иконку firefox. Использование xprop WM_CLASS и нажатие на окно вернули WM_CLASS (STRING) = "Navigator", "Firefox Developer Edition". В конце я переименовал мой файл .desktop следующим образом: mv ffde.desktop "firefox developer edition.desktop". (Другая проблема, однако, я не могу щелкнуть правой кнопкой мыши »addToFoving на значке из расширения дока gnome)
Stphane
1
Если вы не хотите / не можете изменить исходный файл .desktop в папку / usr / share / apps, вы можете скопировать файл в локальную папку ~ / .local / share / Applications и изменить файл здесь. Таким образом, у вас будет общесистемный исходный файл (возможно, предоставленный разработчиком / дистрибутивом) и настроенный файл, который переопределяет исходный файл на панели приложений оболочки gnome. Копирование в локальную папку желательно, поскольку файл в / usr / share / apps может быть перевернут при следующем обновлении пакета.
Виниций А. Хорхе
Некоторые приложения не имеют WM_CLASS, или, по крайней мере, xprop не показывает его. Можно ли это сделать с другим свойством? Например, регулярное выражение на WM_NAME?
Jws
3

StartupWMClass

Вы можете использовать StartupWMClass для группировки окон по классам.

Смотрите эту тему для получения дополнительной информации.

earthmeLon
источник