Tclx_Init,  Tclxcmd_Init,  TclX_Main, Tkx_Init, TkX_Main -
       Extended Tcl initialization.


SYNOPSIS

       -ltclx -ltcl

       #include "tclExtend.h"

       int
       Tclx_Init (Tcl_Interp *interp);

       int
       Tclxcmd_Init (Tcl_Interp *interp);

       int
       void
       TclX_Main (int               argc,
                  char            **argv,
                  Tcl_AppInitProc  *appInitProc);

       int
       Tkx_Init (Tcl_Interp *interp);

       void
       TkX_Main (int               argc,
                 char            **argv,
                 Tcl_AppInitProc  *appInitProc);

       void
       TclX_SetAppInfo (int   defaultValues,
                        char *appName,
                        char *appLongName,
                        char *appVersion,
                        int   appPatchlevel);


DESCRIPTION

       These functions are used to initialize  Extended  Tcl  and
       applications based on Extended Tcl.  This manual page also
       discusses various issues  and  approaches  of  integrating
       TclX into other applications.

   Tclx_Init
       Initializes  Extended Tcl, adding the extended command set
       to the interpreter.   This  is  called  from  Tcl_AppInit.
       This  function must be called after the Tcl_Init function.
       In addition to the standard command set, it enables use of
       tlib  packages  libraries  and  makes  the  standard  TclX
       library available.

       Parameters
         o interp - A pointer  to  the  interpreter  to  add  the


       Returns:
         TCL_OK if all is ok, TCL_ERROR if an error occurred.

   Tclxcmd_Init
       Add  the  TclX  command  set  to the interpreter, with the
       exception of the TclX library management  commands.   This
       is normally called by Tclx_Init and should only be used if
       you don't want the TclX library handling.

       Parameters
         o interp - A pointer to the interpreter to add the  com­
         mands to.

       Returns:
         TCL_OK if all is ok, TCL_ERROR if an error occurred.

   TclX_Main
       This  function  parses  the  command line according to the
       TclX shell specification (Unix shell compatible).  It cre­
       ates  an  interpreter  and  calls  the  specified function
       appInitProc to initialize any  application  specific  com­
       mands.   It  then  either  evaluates the command of script
       specified on the command line  or  enters  an  interactive
       command  loop.  This procedure never returns, it exits the
       process when it's done.  Using the TclX shell  also  gives
       you SIGINT handling in interactive shells.

   Tkx_Init
       Initializes  Extended  Tcl Tk environment.  This is called
       from Tcl_AppInit after the Tk_Init function.

       Parameters
         o interp - A pointer to the interpreter to add the  com­
         mands to.

       Returns:
         TCL_OK if all is ok, TCL_ERROR if an error occurred.

   TkX_Main
       This  function  parses  the  command line according to the
       wish shell specification.  It creates an  interpreter  and
       calls the specified function appInitProc to initialize any
       application specific commands.  It then  either  evaluates
       the  command  of  script  specified on the command line or
       enters an interactive command loop.  This procedure  never
       returns,  it  exits the process when it's done.  Using the
       TclX wish shell gives you SIGINT handling  in  interactive
       shells, otherwise it is identical to standard wish.

   TclX_SetAppInfo
       Store the application information returned by infox.

         o  defaultValues - If true, then the values are assigned
         only if they are not already  defined  (defaulted).   If
         false, the values are always set.
         o appName - Application symbolic name.
         o appLongName - Long, natural language application name.
         o appVersion - Version number of the application.
         o appPatchlevel - Patch level of  the  application.   If
         less than zero, don't change.

       String  pointers  are saved without copying, don't release
       the memory.  If the arguments are NULL, don't  change  the
       values.


DYNAMIC LOADING OF TCLX

       TclX  can  be  dynamically  loaded on systems that support
       shared libraries and the load command.  This can  be  done
       using either the load or the package require commands.  If
       package require is to be used, a pkgIndex,tcl must be con­
       structed.   The  pkg_mkIndex  does  not  generate a pkgIn­
       dex.tcl file that works with TclX.  Instead a command sim­
       ilar to

         package ifneeded Tclx 7.5.0 "load $dir/libtclx.so"

       should  be  placed  in  the  directory containing the TclX
       shared library.  A prototype pkgIndex,tcl file is build by
       TclX  and is installed in the run time directory under the
       name  pkgIndex,proto.  This file can't be used as-is,  but
       should  be renamed and copied or combined with an existing
       pkgIndex,tcl  in  the  directory  containing  the   shared
       library.

       There  is  no need to dynamically load libtkx.so, since it
       only contains support for wishx.


INTEGRATING TCLX WITH OTHER EXTENSIONS AND APPLICATIONS

       The main aspects to integrating TclX with into an applica­
       tion is to decide if the application is based on the stan­
       dard Tcl/Tk shells or the TclX shells.   If  the  standard
       shells  are desired, then all that is necessary is to call
       Tclx_Init after Tcl_Init and
        Tkx_Init after Tk_Init.  This functionality may  also  be
       dynamically loaded.

       To  get the TclX shell in a Tcl only application, with the
       tcl command functionality, call TclX_Main  from  the  main
       function  instead  of  Tcl_Main.  This shell has arguments
       conforming to other Unix shells and SIGINT signal handling
       when interactive,.

       To  get the Tclx shell in a Tk application, with the wishx

       tion  instead  of  Tk_Main.   This shell has SIGINT signal
       handling when interactive,


Man(1) output converted with man2html