dwww Home | Manual pages | Find package

Safe Tk(3tk)                 Tk Built-In Commands                 Safe Tk(3tk)

______________________________________________________________________________

NAME
       safe::loadTk - Load Tk into a safe interpreter.

SYNOPSIS
       safe::loadTk child ?-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 parent 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 child's
       state for startup. safe::loadTk registers the child's name so when  the
       Tk  initialization  (Tk_SafeInit)  is called and in turn calls the par-
       ent'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(3tcl),  interp(3tcl),  library(3tcl),  load(3tcl),  package(3tcl),
       source(3tcl), unknown(3tcl)

KEYWORDS
       alias, auto-loading, auto_mkindex, load, parent interpreter,  safe  in-
       terpreter, child interpreter, source

Tk                                    8.0                         Safe Tk(3tk)

Generated by dwww version 1.14 on Sat Jan 25 04:58:03 CET 2025.