Custom window using Perl TK or Python Tkinter Custom window using Perl TK or Python Tkinter tkinter tkinter

Custom window using Perl TK or Python Tkinter


You can turn off the standard decorations in a few ways, e.g., by setting the toolwindow boolean attribute (Windows only), by making it an overrideredirect window, or (with a new-enough Tk) by setting the type attribute of the window to something like utility (X11 only). With the standard decorations disabled, you can then draw anything you want (which is how the other programs you mention do things), though there are a number of restrictions, particularly with focus handling. Override-redirected windows often don't participate in the keyboard management regime, because they're mostly invisible to the window manager which doesn't know to direct focus to them in the first place. (IIRC, you can force it but then you're getting into a fight with the WM and that's difficult to get right; “don't fight the WM” is one of the good rules of thumb for GUI design.) You can also set the window as transient (i.e., working for another window) which often reduces decoration levels.

The way you set these things depends on the language you're using. I can point to the places to look in the “mothership” documentation, but how they work in different languages does vary.