: '''wm overrideredirect''' ''window ?boolean?'' If ''boolean'' is specified, it must have a proper boolean form and the override-redirect flag for ''window'' is set to that value. If ''boolean'' is not specified then 1 or 0 is returned to indicate whether or not the override-redirect flag is currently set for ''window''. Setting the override-redirect flag for a window causes it to be ignored by the [window manager]; among other things, this means that the window will not be reparented from the root window into a decorative frame and the user will not be able to manipulate the window using the normal window manager mechanisms; you, the Tk programmer, have ''total'' control over the window. ---- [DKF]: The name comes from the way that the X protocol manages window creation. When a ([toplevel]) window is normally created, the Xserver generates an [event] (`CreateNotify`) on the root window, and the window manager (which receives the event because it selects the `SubstructureNotifyMask` on the root) gets that event and reparents the window into its decorative border. However, the client software that creates the window (not the WM) can specify a flag when the window is created (the '''overrideRedirect''' flag) which tells the WM to not do this stuff; i.e. it overrides the redirection of the window into a decorated frame. (I don't remember if it inhibits the passing of the event to the WM, or if the WM is just supposed to notice the flag early and give up on decoration.) There's more to writing a WM than that, of course (especially in relation to fake event handling) but this explains the genesis of the command name. ---- [LES] 2009-09-07: I've been trying to make a digital clock on my desktop area (Linux). It looks a lot better with [[wm overrideredirect $::topwindow 1]], i.e. no title bar. Especially since it has the same background color as the desktop area, so it blends in perfectly. But then it stays on top of all other windows. It looks very ugly with the title bar. :-( [hae] 2009-09-08: Maybe this is helpful to you: * [FullyTransparentDigitalClock] * [FlickerFreeTransparentDigitalClock] [LES] Very interesting as a concept, should keep me awake at night, but that clock also stays on top of all other windows. I don't want that. And it is quite ugly... HoMi-(2009-09-09) - I think I know what you want. You want a so-called panel which shows the current time without any decoration made by a window manager (like title bar, minimize/maximize/close button). Right? The usage of wm overrideredirect window 1 is the right way. Normally a so created window is the topmost window during creation time but not during the run time. Any other window (application) should be able to overlay this panel. Note: * this panel will not be managed by the window manager (see description above) and the panel is not visible in the task bar [LES] Thank you for your attention to my problem, but your assertion does not match the behavior I observe here. The window decoration is indeed not applied, but then the application stays on top of ALL other windows. Here is some code: #!/usr/bin/env tclsh package require Tk catch { destroy .clock errorswindow } set w [ toplevel .clock ] wm withdraw . wm title $::w "clock" tk appname "clock" wm overrideredirect $::w 1 wm geometry $::w "+690+0" set ::time 12:00 label $::w.digital -textvar ::time -font "Arial 28" -fg white -bg #000000 pack $::w.digital ---- [[Explain idea.]] [[Explain uses--[balloon help], [screensaver], various [wm] manipulations, much else.]] [[Compare window zooming.]] [[Is that name as bad as CL thinks?]] One use of '''wm overrideredirect''' is to create a [splash screen]. ---- See also: * [wm] * [window::or] ---- !!!!!! %|[Category Command]|% !!!!!!