Je suis le responsable de l'application nouvellement nommé pour un programme appelé "xlog". Le programme fonctionne très bien dans tous, sauf l'environnement Unity. Il est écrit en utilisant Gtk2.
Je n'ai jamais utilisé Unity auparavant. J'ai remarqué dans Unity que la barre de menus semble être "redirigée" vers un autre endroit en dehors de l'interface graphique de mon application, vers une barre en haut de l'écran. Deuxièmement, l'une des zones de saisie de texte de mon interface graphique s'affiche sous la forme d'une ligne fine, inaccessible à l'utilisateur, sauf via la touche de tabulation.
Si je prends l'exécutable xlog qui fonctionne parfaitement sous Ubuntu 12.04.2 LTS et le copie dans une distribution 12.10 Unity, je vois le comportement différent.
Je n'ai aucune idée où chercher, ni ce que je devrais envisager de modifier, dans l'application xlog, pour remédier à cette situation. Qu'est-ce qui est différent dans Unity et qui est unique à tous les autres environnements où cette application fonctionne correctement?
img
. Un pop-in devrait apparaître. Suivez les invites.Réponses:
Je pense que ce que vous référez est le comportement par défaut sur Unity. Unity utilise un menu global (celui que vous voyez en haut) similaire à ce qui est vu sur OSX.
Si vous le souhaitez, cela peut être désactivé dans votre application, mais je pense que ce n'est pas très recommandé: toute personne utilisant Unity attendra le menu non pas dans la fenêtre, mais en haut.
En ce qui concerne la zone de saisie, je suppose que cela peut être un problème avec le thème Ubuntu. Pour le vérifier, essayez de changer le thème Ubuntu (sous "Paramètres système" -> "Apparence") et voyez si la boîte reste la même.
Éditer
J'étais curieux et en regardant le code, il semble que le problème soit dans votre application. Cela semble résoudre le problème (je ne peux pas entrer de nouvelle ligne sur cette case, mais je ne peux pas dire si c'est normal ou si c'est un bug). Ces valeurs (100, 200) ont été sélectionnées au hasard, ce n'est donc peut-être pas la meilleure façon de résoudre ce problème.
la source