plucky (3) Tk_Main.3tk.gz

Provided by: tk8.6-doc_8.6.16-1_all bug

NAME

       Tk_Main - main program for Tk-based applications

SYNOPSIS

       #include <tk.h>

       Tk_Main(argc, argv, appInitProc)

ARGUMENTS

       int argc (in)                              Number of elements in argv.

       char *argv[] (in)                          Array   of   strings  containing  command-line  arguments.  On
                                                  Windows, when using -DUNICODE, the parameter type  changes  to
                                                  wchar_t *.

       Tcl_AppInitProc *appInitProc (in)          Address  of  an application-specific initialization procedure.
                                                  The value for this argument is usually Tcl_AppInit.
________________________________________________________________________________________________________________

DESCRIPTION

       Tk_Main acts as the main program for most Tk-based applications.  Starting with Tk 4.0 it is  not  called
       main anymore because it is part of the Tk library and having a function main in a library (particularly a
       shared library) causes problems on many systems.  Having main in the Tk library would also make  it  hard
       to use Tk in C++ programs, since C++ programs must have special C++ main functions.

       Normally  each  application contains a small main function that does nothing but invoke Tk_Main.  Tk_Main
       then does all the work of creating and running a wish-like application.

       When it is has finished its own initialization, but before  it  processes  commands,  Tk_Main  calls  the
       procedure  given  by  the  appInitProc argument.  This procedure provides a “hook” for the application to
       perform its own initialization, such as defining application-specific commands.  The procedure must  have
       an interface that matches the type Tcl_AppInitProc:
              typedef int Tcl_AppInitProc(
                      Tcl_Interp *interp);
       AppInitProc  is  almost  always  a  pointer  to  Tcl_AppInit; for more details on this procedure, see the
       documentation for Tcl_AppInit.

       Tk_Main functions much the same as Tcl_Main.  In particular, Tk_Main supports both  an  interactive  mode
       and  a  startup script mode, with the file name and encoding of a startup script under the control of the
       Tcl_SetStartupScript and Tcl_GetStartupScript routines. However it calls Tk_MainLoop after processing any
       supplied  script,  and  in  interactive uses events registered with Tcl_CreateFileHandler to process user
       input.

SEE ALSO

       Tcl_DoOneEvent(3tk)

KEYWORDS

       application-specific initialization, command-line arguments, main program