Icônes en double pour les éléments de lanceur GNOME créés manuellement

46

J'ai téléchargé Aptana Studio 3 et créé le lanceur suivant pour utiliser Alacarte:

fichier: alacarte-made.desktop

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

Ensuite, lorsque j'ajoute l'icône aux favoris et ouvre Aptana Studio 3, je reçois deux icônes: une pour lancer de nouvelles instances et une pour l'instance en cours d'exécution, comme illustré ci-dessous:

entrez la description de l'image ici

Comment forcer l'application à utiliser la même icône ajoutée aux favoris?

Malhobayyeb
la source
Pouvez-vous préciser comment vous avez installé Aptana? Tout ce que je peux voir sur le site officiel est un fichier zip autonome. (quelque chose comme des applications portables dans Windows).
Hytromo
Oui, c'était ça.
Malhobayyeb
Alors, comment cela s'est-il terminé /opt? Aussi, est-ce sur votre $PATH? Comment en spécifiant uniquement AptanaStudio3dans votre fichier de bureau, il est capable de fonctionner?
Hytromo
1
Je l'ai fait, merci. J'ai créé un lien Sym dans / usr / bin vers /opt/.../aptana C'était juste un problème de nommage. Je devais nommer le .desktop et bin et le lien de la même façon :)
malhobayyeb
3
Veuillez répondre en détail ci-dessous comment vous avez réussi à résoudre votre problème :) (je ne sais pas, je ne vous ai posé que quelques questions)
hytromo

Réponses:

67

Pour sauvegarder le tamisage du fil mentionné par @earthmeLon, vous devez procéder comme suit:

  1. Lancer l'application
  2. Lancez un terminal et courez xprop WM_CLASS. Cliquez sur la fenêtre de l'application.
  3. Vous aurez une sortie comme WM_CLASS(STRING) = "Navigator", "Firefox". Choisissez l'une des classes, par exemple Firefoxdans cet exemple
  4. Ajoutez la classe comme valeur de StartupWMClassdans le .desktopfichier. Par exemple,StartupWMClass=Firefox
  5. Enregistrez le .desktopfichier, fermez l'application et rouvrez-le. Il devrait maintenant n'y avoir qu'une seule icône dans le lanceur
Erin Drummond
la source
3
Pour ceux qui ont le même problème sous GNOME, vous pouvez utiliser MenuLibre: Lors de la modification de l'entrée correspondante, vous trouverez un champ pour configurer StatupWMClass dans la liste qui apparaît lorsque vous cliquez sur le bouton "Avancé"
conceptdeluxe
Si quelqu'un essaie de gérer un problème avec un mendeleyfichier exécutable, veillez également à le modifier .../bin/install-mendeley-link-handler.sh, car il remplace le .desktopfichier à chaque exécution.
mercredi
TLDR; * .desktop nom du fichier = WM_CLASS (STRING) dernier élément, mais en minuscule. Détails: J'ai dû résoudre ce problème lors de la création du raccourci "Firefox Developer edition". Nommer le fichier "firefox.desktop" a simplement ombré l’icône standard de Firefox. L'utilisation de xprop WM_CLASS et un clic sur la fenêtre ont renvoyé WM_CLASS (STRING) = "Navigator", "Firefox Developer Edition". Finalement, j'ai renommé mon fichier .desktop comme suit: mv ffde.desktop "firefox developer edition.desktop". (Un autre problème cependant, je ne peux pas cliquer avec le bouton droit de la souris sur »addToFavorites sur l'icône de l'extension du dock gnome)
Stéphane
1
Si vous ne voulez pas / ne pouvez pas modifier le fichier .desktop d'origine dans le dossier / usr / share / applications, vous pouvez le copier dans votre dossier local ~ / .local / share / applications et modifier le fichier. déposer ici. Vous aurez donc un fichier original à l’échelle du système (probablement fourni par le développeur / distribution) et un fichier personnalisé qui remplacera le fichier original dans le panneau des applications gnome-shell. Il est souhaitable de copier dans votre dossier local car le fichier dans / usr / share / applications peut être inversé lors de la prochaine mise à jour du paquet.
Vinícius A. Jorge
Plusieurs applications n'ont pas WM_CLASS, ou du moins xprop ne l'affiche pas. Peut-on le faire avec une autre propriété? Par exemple, une expression régulière sur WM_NAME?
Jws le
3

StartupWMClass

Vous pouvez utiliser StartupWMClass pour grouper des fenêtres par classe.

Voir ce fil pour des informations supplémentaires.

EarthMon
la source