|
ActiveTcl User Guide |
|
loadTk - Load Tk into a safe interpreter.
::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.
The ::safe::loadTk command initializes the required data
structures in the named safe interpreter and then loads Tk into it.
The interpreter must have been created with
::safe::interpCreate or have been initialized with
::safe::interpInit. 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 (e.g.
.x.y) instead of its window 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.
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
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.
safe, interp,
library, load, package, source, unknown
alias, auto-loading, auto_mkindex, load, master interpreter, safe interpreter, slave interpreter,
source
Copyright © 1995-1996 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.