NAME
       loadTk - Load Tk into a safe interpreter.

SYNOPSIS
       ::safe::loadTk  slave  ?-use  windowId? ?-display display-
       Name?

       Safe Tk is based on Safe Tcl, which provides  a  mechanism
       that allows restricted and mediated access to auto-loading
       and packages for safe  interpreters.   Safe  Tk  adds  the
       ability  to  configure  the interpreter for safe Tk opera-
       tions and load Tk into safe interpreters.


DESCRIPTION
       The ::safe::loadTk command initializes the  required  data
       structures in the named safe interpreter and then loads Tk
       into it.  The command returns the name of the safe  inter-
       preter.   If  -use  is specified, the window identified by
       the specified system dependent identifier windowId is used
       to  contain  the ``.''  window of the safe interpreter; it
       can be any  valid  id,  eventually  referencing  a  window
       belonging to another application. As a convenience, if the
       window you plan to use is a Tk Window of  the  application
       you can use the window name (eg: .x.y) instead of its win-
       dow Id ([winfo id .x.y]).  When -use is not  specified,  a
       new toplevel window is created for the ``.'' window of the
       safe interpreter. On X11 if you want the  embedded  window
       to  use  another  display than the default one, specify it
       with -display.  See the SECURITY ISSUES section below  for
       implementation details.


SECURITY ISSUES
       Please  read  the  safe manual page for Tcl to learn about
       the basic security considerations for Safe Tcl.

       ::safe::loadTk adds the value of tk_library taken from the
       master  interpreter to the virtual access path of the safe
       interpreter so that auto-loading will  work  in  the  safe
       interpreter.


       Tk initialization is now safe with respect to not trusting
       the slave's state for  startup.  ::safe::loadTk  registers
       the   slave's   name   so   when   the  Tk  initialization
       (Tk_SafeInit) is called and in  turn  calls  the  master's
       ::safe::InitTk  it will return the desired argv equivalent
       (-use windowId, correct -display, etc...).

       When -use is not used, the new toplevel  created  is  spe-
       cially decorated so the user is always aware that the user
       interface presented comes from a potentially  unsafe  code
       and can easily delete the corresponding interpreter.
       On X11, conflicting -use and -display are likely to gener-
       ate a fatal X error.


SEE ALSO
       safe(n),  interp(n),  library(n),   load(n),   package(n),
       source(n), unknown(n)


KEYWORDS
       alias,  auto-loading,  auto_mkindex,  load,  master inter-
       preter, safe interpreter, slave interpreter, source
