safe_loadTk - Load Tk into a safe interpreter.
safe::loadTk slave ?-use windowId? ?-display displayName?
Safe Tk(1t) Tk Built-In Commands Safe Tk(1t) ______________________________________________________________________________ NAME safe::loadTk - Load Tk into a safe interpreter. SYNOPSIS safe::loadTk slave ?-use windowId? ?-display displayName? ______________________________________________________________________________ DESCRIPTION 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 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 (e.g., ".x.y") instead of its window Id (e.g., from 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, spec- ify it with -display. See the SECURITY ISSUES section below for imple- mentation 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 inter- preter 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 mas- ter'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. ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+------------------+ |Availability | runtime/tk-8 | +---------------+------------------+ |Stability | Uncommitted | +---------------+------------------+ 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 NOTES Source code for open source software components in Oracle Solaris can be found at https://www.oracle.com/downloads/opensource/solaris-source- code-downloads.html. This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from https://source- forge.net/projects/tcl/files/Tcl/8.6.7/tk8.6.7-src.tar.gz/download. Further information about this software can be found on the open source community website at https://www.tcl.tk/. Tk 8.0 Safe Tk(1t)