http://www.tcl.tk/man/tcl8.5/TkCmd/winfo.htmSee wm for Window manager related information.
Common subcommands edit
- winfo children window
- winfo class window
- winfo containing ?-displayof window? rootX rootY
- winfo exists window
- winfo fpixels window number
- winfo geometry window
- winfo height window
- winfo ismapped window
(is window on the screen?) - winfo manager window
- winfo name window
- winfo parent window
- winfo pixels window number
- winfo pointerx window
- winfo pointerxy window
- winfo pointery window
- winfo reqheight window
- winfo reqwidth window
- winfo rgb window color
- [winfo rootx] window
- [winfo rooty] window
- [winfo screenheight] window
- [winfo screenmmheight] window
- [winfo screenmmwidth] window
- [winfo screenwidth] window
- winfo server window
- winfo toplevel window
- winfo viewable window
- [winfo vrootheight] window
- [winfo vrootwidth] window
- [winfo vrootx] window
- [winfo vrooty] window
- winfo width window
- winfo x window
- winfo y window
Rarely-used subcommands edit
You probably don't need to use these subcommands, either because they couple to functionality that is largely obsolete in the days of universal full-depth displays or because they require deep knowledge of the X protocol to make use of.- [winfo atom] ?-displayof window? name
- [winfo atomname] ?-displayof window? id
- [winfo cells] window
- [winfo colormapfull] window
- [winfo depth] window
- winfo id window
- [winfo interps] ?-displayof window?
- [winfo pathname] ?-displayof window? id
- [winfo screen] window
- [winfo screencells] window
- [winfo screendepth] window
- [winfo screenvisual] window
- [winfo visual] window
- [winfo visualid] window
- [winfo visualsavailable] window ?includeids?
RS 2006-04-12: winfo class returns for toplevels the app name (as from the topmost script), else the Titlecased widget type. Here's a little convenience proc that returns the suitable Tk command for deserializing a widget:
proc winfo'class w {
if {[winfo toplevel $w] eq $w} {return toplevel}
string tolower [winfo class $w]
}MG This seems to only be the case for ".", other toplevels seem to return "Toplevel" as you'd expect. (Anyone know why it returns the app name for ., though? Curious what the thought behind it was.)DKF: It relates to option database support. In particular, other names would be used by completely different applications (e.g. Firefox, Xterm, etc.)MG Ahh, I see. Thanks :)