ABCDEFGHIJKLMNOPQRSTUVWXYZ

loadTk

Safe Tk(n)                   Tk Built-In Commands                   Safe Tk(n)



______________________________________________________________________________

NAME
       loadTk - Load Tk into a safe interpreter.

SYNOPSIS
       ::safe::loadTk slave ?-use windowId? ?-display displayName?
_________________________________________________________________

       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 operations 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 interpreter.  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 window Id ([winfo id .x.y]).  When -use  is  not  speci-
       fied, a new toplevel window is created for the ``.'' window of the safe
       interpreter. On X11 if you want the embedded window to use another dis-
       play  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 secu-
       rity 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 specially 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 generate 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  interpreter,  safe
       interpreter, slave interpreter, source



Tk                                    8.0                           Safe Tk(n)