J'ai un problème avec quelques programmes qui ont des lanceurs dans l'unité mais qui créent ensuite une icône distincte après leur lancement. Est-il possible pour le lanceur de suivre les fenêtres qu'il crée pour mieux organiser? Ou est-ce un bug dans Unity lui-même?
Cela n'a peut-être pas d'importance, mais ce programme spécifique est un programme mono et l'icône générée est répertoriée en tant que panneau.
StartupWMClass
propriété dans le lanceur de bureau de l'application: askubuntu.com/questions/36434/…Réponses:
Que ce passe-t-il
Des problèmes comme celui-ci sont liés au cadre de correspondance des applications d'Unity. Pour simplifier les détails techniques, les fenêtres de programme et les applications sont deux choses distinctes pour Ubuntu. Ubuntu doit «deviner» quelle application possède une fenêtre particulière. Et parfois, cette supposition échoue, et un point d'interrogation apparaît dans le lanceur.
L'échec peut être dû à:
L'application indiquée dans la question (KeePass2) souffre d'un problème de type 1 qui a été signalé au programme de suivi des bogues approprié .
Exemples de problèmes
Les exemples ci-dessous sont techniques, destinés aux programmeurs qui souhaitent que leur propre application s'affiche correctement dans le lanceur Ubuntu.
Problème 3 - Aucune description d'application
Pour qu'une application s'intègre à Unity, c'est-à-dire qu'elle puisse être recherchée dans Dash et placée dans le lanceur, elle doit avoir une entrée de bureau. Ces entrées sont placées dans le
/usr/share/applications/
,,/usr/local/share/applications/
et$HOME/.local/share/applications/
(les deux derniers étant pour les logiciels tiers, à l'échelle du système et utilisateur uniquement respectivement). Ils se terminent par une.desktop
extension et suivent ce format de base:Cette entrée démarre un programme en appelant l'
Exec
exécutable. Chaque fois que ce programme affiche une fenêtre ou une boîte de dialogue, Unity remarquera que son exécutable "appartient" à cette description d'application, et utilisera le donnéName
etIcon
dans le lanceur.Ceci est un exemple simple. La spécification formelle couvre de nombreuses fonctionnalités avancées.
Problème 2 - Description d'application défectueuse
Supposons qu'il
my_app.desktop
existe dans un répertoire d'application valide, mais:/file/path/of/my/icon
n'existe pas dans le système de fichiers./file/path/of/my/icon
n'est pas une image.Dans tous les cas ci-dessus, Ubuntu ne pourra pas lister correctement la fenêtre d'application dans le lanceur.
Problème 1 - Un bogue dans BAMF
Depuis Ubuntu 11.10, BAMF a un certain nombre de bogues qui empêchent une correspondance correcte des applications. Les pièges courants (temporaires) comprennent:
Exec
chemin étant un lien symbolique plutôt qu'un fichier normalDans ces cas, les programmeurs n'ont d'autre choix que d'utiliser une solution de contournement, telle que la suppression de l'abstraction du lien symbolique ou la liaison directe avec l'exécutable. Aucun de ces éléments n'est requis par la spécification d'entrée de bureau elle-même.
la source
.desktop
fichiers pour la même application à la fois dans~/.local/share/applications/
et/usr/share/applications/
. Le premier fichier remplace le second même si l'icône n'y est pas spécifiée.La fenêtre ne peut être mise en correspondance avec l'application que si la propriété WM_CLASS a été définie. Pour ce faire dans X11, vous utilisez:
Vous devez passer un pointeur vers une structure XClassHint avec les champs 'res_name' et 'res_class'.
la source
J'ai eu quelques problèmes avec 16.04, y compris les icônes grisées et parfois le pavé tactile devenait erratique (Acer V15 nitro) et le centre logiciel (peut-être d'autres icônes aussi) ne s'ouvrait pas à partir de l'icône (uniquement à partir d'une commande de terminal). J'ai trouvé une recommandation quelque part pour désinstaller et réinstaller le logiciel gnome. Depuis que je l'ai fait, l'ensemble du système est stable à 100%, ne contient plus d'icônes grisées et fonctionne parfaitement. Cela semblait effrayant au départ lorsque j'ai redémarré après ce changement - beaucoup de messages système au redémarrage - alors faites-le à vos risques et périls.
la source