web-dev-qa-db-fra.com

Unity Launcher et les icônes Steam

Lorsque je lance "The Binding of Isaac" avec Steam, l’icône est bonne au début.

enter image description here

Lorsque la fenêtre contextuelle "Préparation au lancement d'Isaac" est fermée, une seconde icône apparaît.

enter image description here

Puis, lorsque le jeu est lancé, la première icône disparaît et je n’obtiens que le symbole "?" icône.

enter image description here

Comment pourrais-je changer l'icône de ce deuxième programme qui est lancé?

Je remplis déjà ~/.local/share/applications/The\ Binding\ of\ Isaac\ Rebirth.desktop avec la bonne icône

[Desktop Entry]
Name=The Binding of Isaac: Rebirth
Comment=Play this game on Steam
Exec=Steam steam://rungameid/250900
Icon=Steam_icon_250900
Terminal=false
Type=Application
Categories=Game;

Je suis sur Ubuntu 16.04

Merci pour l'aide :)

4
Bouffe

Que faire si une fenêtre et une icône ne sont pas connectées

Dans certains cas, une fenêtre et le programme de lancement (-icon dans Unity Launcher) ne sont pas connectés l'un à l'autre. Dans votre cas, la cause est peut-être la première fenêtre ("popup"), ce qui rend l'icône de lanceur "supposer" que le travail est terminé. Cela se produit souvent avec des applications fonctionnant sous Steam ou Wine.

Comment résoudre

  1. Ouvrez votre application, attendez que la dernière fenêtre apparaisse.
  2. Ouvrez une fenêtre de terminal, tapez xprop WM_CLASSReturn. Votre pointeur se transforme en un gros +.
  3. Cliquez sur la fenêtre de votre application. Le terminal générera deux chaînes, ressemblant à ceci: "gnome-terminal-server", "Gnome-terminal". Choisissez l'un (j'utilise principalement la minuscule) et ajoutez-le à votre fichier .desktop:

    [Desktop Entry]
    Name=The Binding of Isaac: Rebirth
    Comment=Play this game on Steam
    Exec=Steam steam://rungameid/250900
    Icon=Steam_icon_250900
    Terminal=false
    Type=Application
    Categories=Game;
    StartupWMClass=wmclass
    

    ... où wmclass est la chaîne minuscule trouvée. Vous devrez peut-être vous déconnecter puis vous reconnecter, et cela devrait fonctionner.

5
Jacob Vlijm