Über Tkinter-Fenster
Das Fenster in Ihrem Bild ist ein Tkinter- Fenster. Tkinter-Fenster stimmen standardmäßig nicht mit dem Startsymbol überein, es sei denn, Sie stellen den Starter (die .desktopDatei) speziell so ein , dass er mit den Fenstern übereinstimmt WM_CLASS. Weiter unten wird erklärt, wie das geht.
jedoch
Wenn Sie WM_CLASSin Ihrem python/ Tkintercode keinen bestimmten Wert definieren , haben alle TkinterFenster das gleiche WM_CLASS. Sie können das sehen, wenn Sie laufen
xprop WM_CLASS
Drücken Sie in einem Terminal Returnund klicken Sie anschließend auf das TkinterFenster. Dies wird zeigen:
WM_CLASS(STRING) = "tk", "Tk"
Dies bedeutet, dass wenn Sie möglicherweise mehrere TkinterAnwendungen haben, diese alle unter demselben Symbol im Launcher angezeigt werden. Dies wäre eine generische , es sei denn, Sie bearbeiten Ihre .desktopDatei.
So legen Sie eine eindeutige WM_CLASS in Python / Tkinter fest
Sie können das definieren, WM_CLASSindem Sie es wie folgt einstellen:
#!/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()

Fügen Sie die WM_CLASS zu Ihrer .desktop-Datei hinzu
Fügen Sie Ihrer .desktopDatei die folgende Zeile hinzu :
StartupWMClass=applicationname
Wo applicationnameist der Name, den Sie im python/ Tkinter-Code festgelegt haben ?