wxTaskBarIcon dans Ubuntu 12.10

J’ai construit wxWidgets 2.9.3 (pour le moment, je dois m’en tenir à cette version) sous Ubuntu 12.10 et je n’arrive pas à utiliser la classe wxTaskBarIcon . L’exemple fourni avec wxWidgets est en cours de compilation et en cours d’exécution, mais l’icône elle-même ne s’affiche pas dans la barre des tâches. J’ai vérifié ma configuration et je sais que la compilation des bibliothèques wxWidgets a été exécutée avec le paramètre par défaut (“oui” pour le support de la barre des tâches).

Une idée comment le faire fonctionner? Ce problème est-il lié à la version de wxWidgets et / ou Ubuntu?

Edit: Il n’est définitivement pas connecté à la version de wxWidgets (vérifié sous wx 2.8, 2.9.3, 2.9.4).

Edit 2: Si cela compte: Le système est sur VirtualBox 4.2.6, installé avec tous les parameters par défaut. J’installe des mises à jour au moins une fois par semaine.

Depuis Ubuntu depuis 11.04, la barre des tâches est gérée par Unity qui, par défaut, n’autorise pas tous les programmes à y placer leurs icons. Vous devez append votre application à la liste blanche pour lui permettre d’accéder à la barre des tâches. Voici où j’ai trouvé la réponse à l’origine:

http://ubuntuforums.org/showthread.php?t=1737589

Fondamentalement, vous devez appeler:

 gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'YOUR_APPLICATION']" 

Ensuite, déconnectez-vous, connectez-vous. Ceci appenda YOUR_APPLICATION à la liste blanche de Unity.Panel. N’oubliez pas que dans ce cas, vous devez également répertorier les éléments qui figuraient auparavant dans cette liste. Vous pouvez vérifier à quoi ressemble la liste blanche en appelant:

 gsettings get com.canonical.Unity.Panel systray-whitelist 

Dans mon cas (étant donné que je travaille sur l’environnement de développement), je l’ai simplement réglé sur "['all']" . Cela permettra à toutes les applications d’accéder à la barre des tâches.

N’oubliez pas qu’Ubuntu supprimera ce support et qu’à l’avenir, vous devrez utiliser la bibliothèque AppIndicator à la place pour atteindre cet objective. Cela signifie que wxTaskBarIcon ne fonctionnera pas, même avec la liste blanche, à moins d’utiliser la bibliothèque AppIndicator.

Source: http://www.webupd8.org/2013/02/unity-notification-area-systray.html