Tk Library Procedures Tk_Main(3TK)
_________________________________________________________________
NAME
Tk_Main - main program for Tk-based applications
SYNOPSIS
#include
Tk_Main(argc, argv, appInitProc)
ARGUMENTSint argc (in) Number of ele-
ments in argv. char *argv[] (in) Array of strings containingcommand-line
arguments.Tcl_AppInitProc *appInitProc (in) Address of an
application-
specific initial-
ization pro-
cedure. The value for thisargument is usu-
ally Tcl_AppInit.
_________________________________________________________________
DESCRIPTION
Tk_Main acts as the main program for most Tk-based applica-
tions. 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 functionthat 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 beforeit processes commands, Tk_Main calls the procedure given by
the appInitProc argument. This procedure provides a``hook'' for the application to perform its own initializa-
tion, such as defining application-specific commands. The
procedure must have an interface that matches the typeTcl_AppInitProc:
typedef int Tcl_AppInitProc(Tcl_Interp *interp);
AppInitProc is almost always a pointer to Tcl_AppInit; for
Tk Last change: 4.0 1Tk Library Procedures Tk_Main(3TK)
more details on this procedure, see the documentation forTcl_AppInit.
KEYWORDSapplication-specific initialization, command-line arguments,
main programATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:_______________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE|
|____________________|__________________|_
| Availability | runtime/tk-8 |
|____________________|__________________|_
| Interface Stability| Uncommitted ||____________________|_________________|
NOTES Source for Tk is available on http://opensolaris.org. Tk Last change: 4.0 2