Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/10/2018, à 22:37

FabArd08

Modifier l'infobulle d'une application dans le dock en python

bonjour à tous,

Je suis débutant en python et je n'arrive pas à trouver comment modifier l'infobulle qui apparaît lorsqu'on passe la souris sur l’icône d'une application qui est dans le dock.
J'essaie de modifier un programme écrit en python qui s'appelle bCNC.
Lorsque que je lance cette application sur mon poste (Ubuntu 18.04), l’icône de l'application apparaît dans le dock mais lorsque je passe la souris dessus l'infobulle "TopLevel" s'affiche au lieu du nom de l'application. Dans la barre supérieure également "Toplevel" s'affiche au lieu du nom de l'application.

https://www.casimages.com/i/18102011463777571.png.html

Cela fait deux jours que je compulse le net et je n'ai pas trouvé de solution. Le titre le l'application a bien été défini pourtant.

class Application(Toplevel,Sender):
    def __init__(self, master, **kw):
        Toplevel.__init__(self, master, **kw)
        Sender.__init__(self)

        if sys.platform == "win32":
            self.iconbitmap("bCNC.ico")
        else:
            #FabArd self.iconbitmap("@%s/bCNC.xbm"%(Utils.prgpath))
            #FabArd methode 1 pour fichiers bitmap
            #FabArd self.iconbitmap("@bCNC.xbm")
            #FabArd self.iconmask("@bCNC-mask.xbm")
            #FabArd methode 2 pour fichiers image
            icon=PhotoImage(file="bCNC.png")
            self.tk.call('wm','iconphoto',self._w, icon)
       
        self.title(Utils.__prg__)
        self.widgets = []

Si le titre de l'application est défini, pourquoi l'infobulle affiche-t-il le nom de la classe dont-il hérite ?
Comment modifier de cette infobulle ?

Merci de m'éclairer !

Dernière modification par FabArd08 (Le 20/10/2018, à 22:43)

Hors ligne

#2 Le 22/10/2018, à 17:02

FabArd08

Re : Modifier l'infobulle d'une application dans le dock en python

Personne n'a ne serait-ce que que l'ombre d'une idée !!!

Pour ma part, j'ai fait des tests.

1° Essai avec une bibliothèque différente

import gi
import pygtk
import gtk
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

win = Gtk.Window()
win.set_title("Test")
win.set_tooltip_text("Test")

ostati=Gtk.StatusIcon(title='toto', has_tooltip=True, visible=True)
gtk_status_icon_set_tooltip_text(ostati, "Toto")
ostati.set_tooltip_text("Toto")

win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

et la l'infobulle affiche le nom du fichier "test.py"

2° J'ai exécuté bCNC sur un PC avec Lubuntu 18.10 (donc LxQt au lieu de Gnome) et la plus aucun problème. Une fois l'appli lancée, la barre des tâches affiche un bouton avec l’intitulé "bCN" et l'infobulle "bCNC".

Donc le problème semble venir de Gnome.

Quelqu'un saurait si il y une subtilité de Gnome pour résoudre ce problème ou bien s'il s'agit d'un bug !!!

Hors ligne

#3 Le 25/10/2018, à 16:07

soshy

Re : Modifier l'infobulle d'une application dans le dock en python

Salut,
Je ne peux pas executer ton code parce qu'il doit manquer des imports et je dois pas avoir installé les bonnes lib, et je ne connais pas grand chose en python, mais a tout hasard, sur ton script initial, si tu mets

Toplevel.__init__(self, master, **kw)
Sender.__init__(self)

à la fin et non au début de l'init de ta classe, ça irait pas mieux ?

Hors ligne