Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Safe Tk(n)		     Tk	Built-In Commands		    Safe Tk(n)


       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  initial-
       ized with ::safe::interpInit.  The command returns the name of the safe
       interpreter.  If	-use is	specified, the window identified by the	speci-
       fied  system  dependent	identifier windowId is used to contain the "."
       window of the safe interpreter; it can be any valid id, eventually ref-
       erencing	 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 em-
       bedded window to	use another display than the default one,  specify  it
       with  -display.	 See the SECURITY ISSUES section below for implementa-
       tion details.

       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 in-
       terpreter 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

       On X11, conflicting -use	and -display are likely	to generate a fatal  X

       safe(n),	 interp(n),  library(n),  load(n),  package(n),	source(n), un-

       alias, auto-loading, auto_mkindex, load,	master interpreter,  safe  in-
       terpreter, slave	interpreter, source

Tk				      8.0			    Safe Tk(n)


Want to link to this manual page? Use this URL:

home | help