See also "Using Tcl to write WWW client side applications within the WWW browser", "BrowseX", "Invoking browsers", ...
I'll explain this at some point:
package require tcom wm overrideredirect . on pack [canvas .c -background blue -height 20 -width 20] proc paste_on_top_IE toplevel { set application [::tcom::ref getactiveobject \ InternetExplorer.Application] wm geometry . +[$application Left]+[$application Top] raise . update idletasks after 300 [list paste_on_top_IE $toplevel] } paste_on_top_IE .
Notice the use made of tcom.
[Eventually explain Browser Helper Objects, XUL, toolbar SDK, ...]