Sobre as janelas do Tkinter
A janela da sua imagem é uma janela Tkinter . As janelas do Tkinter, por padrão, não correspondem ao ícone do inicializador , a menos que você defina especificamente o ativador ( .desktop
file) para corresponder à WM_CLASS
da janela. Mais abaixo é explicado como fazer isso.
no entanto
Se você não definir um WM_CLASS
específico no seu código python
/ Tkinter
, todas as janelas Tkinter
terão o mesmo WM_CLASS
. Você pode ver que se você executar
xprop WM_CLASS
em um terminal, pressione Return e, em seguida, clique na janela Tkinter
. Isso mostrará:
WM_CLASS(STRING) = "tk", "Tk"
Isso significa que, se você tiver vários aplicativos Tkinter
, todos eles aparecerão sob o mesmo ícone no iniciador. Isso seria um genérico , a menos que você edite seu arquivo .desktop
.
Como definir um WM_CLASS distintivo em python / Tkinter
Você pode definir o WM_CLASS
definindo-o abaixo:
#!/usr/bin/env python3
from tkinter import *
# set the WM_CLASS
win = Tk(className="applicationname")
# set the window title
win.wm_title("Test 123")
win.mainloop()
Adicione o WM_CLASS ao seu arquivo .desktop
Adicione a seguinte linha ao seu arquivo .desktop
:
StartupWMClass=applicationname
em que applicationname
é o nome que você definiu no código python
/ Tkinter
.