Making Tkinter windows show up in the taskbar
I make no claim about this being the 'correct' way to do it, but see if this works for you:
try: from tkinter import *except ImportError: from Tkinter import *class NewRoot(Tk): def __init__(self): Tk.__init__(self) self.attributes('-alpha', 0.0)class MyMain(Toplevel): def __init__(self, master): Toplevel.__init__(self, master) self.overrideredirect(1) self.attributes('-topmost', 1) self.geometry('+100+100') self.bind('<ButtonRelease-3>', self.on_close) #right-click to get out def on_close(self, event): self.master.destroy()if __name__ == '__main__': root = NewRoot() root.lower() root.iconify() root.title('Spam 2.0') app = MyMain(root) app.mainloop()
You could add a toplevel window under the root object, make root invisible and then handle the icon events to hide or show the toplevel window.
root = tkinter.Tk()top = tkinter.Toplevel(root)top.overrideredirect(1) #removes border but undesirably from taskbar too (usually for non toplevel windows)root.attributes("-alpha",0.0)#toplevel follows root taskbar events (minimize, restore)def onRootIconify(event): top.withdraw()root.bind("<Unmap>", onRootIconify)def onRootDeiconify(event): top.deiconify()root.bind("<Map>", onRootDeiconify)window = tkinter.Frame(master=top)window.mainloop()