\HeaderA{TkCommands}{Tk non-widget commands}{TkCommands}
\aliasA{tcl}{TkCommands}{tcl}
\aliasA{tclclose}{TkCommands}{tclclose}
\aliasA{tclfile.dir}{TkCommands}{tclfile.dir}
\aliasA{tclfile.tail}{TkCommands}{tclfile.tail}
\aliasA{tclopen}{TkCommands}{tclopen}
\aliasA{tclputs}{TkCommands}{tclputs}
\aliasA{tclread}{TkCommands}{tclread}
\aliasA{tkbell}{TkCommands}{tkbell}
\aliasA{tkbind}{TkCommands}{tkbind}
\aliasA{tkbindtags}{TkCommands}{tkbindtags}
\aliasA{tkchooseDirectory}{TkCommands}{tkchooseDirectory}
\aliasA{tkclipboard.append}{TkCommands}{tkclipboard.append}
\aliasA{tkclipboard.clear}{TkCommands}{tkclipboard.clear}
\aliasA{tkclose}{TkCommands}{tkclose}
\aliasA{tkcmd}{TkCommands}{tkcmd}
\aliasA{tkdialog}{TkCommands}{tkdialog}
\aliasA{tkevent.add}{TkCommands}{tkevent.add}
\aliasA{tkevent.delete}{TkCommands}{tkevent.delete}
\aliasA{tkevent.generate}{TkCommands}{tkevent.generate}
\aliasA{tkevent.info}{TkCommands}{tkevent.info}
\aliasA{tkfile.dir}{TkCommands}{tkfile.dir}
\aliasA{tkfile.tail}{TkCommands}{tkfile.tail}
\aliasA{tkfocus}{TkCommands}{tkfocus}
\aliasA{tkfont.actual}{TkCommands}{tkfont.actual}
\aliasA{tkfont.configure}{TkCommands}{tkfont.configure}
\aliasA{tkfont.create}{TkCommands}{tkfont.create}
\aliasA{tkfont.delete}{TkCommands}{tkfont.delete}
\aliasA{tkfont.families}{TkCommands}{tkfont.families}
\aliasA{tkfont.measure}{TkCommands}{tkfont.measure}
\aliasA{tkfont.metrics}{TkCommands}{tkfont.metrics}
\aliasA{tkfont.names}{TkCommands}{tkfont.names}
\aliasA{tkgetOpenFile}{TkCommands}{tkgetOpenFile}
\aliasA{tkgetSaveFile}{TkCommands}{tkgetSaveFile}
\aliasA{tkgrab}{TkCommands}{tkgrab}
\methaliasA{tkgrab.current}{TkCommands}{tkgrab.current}
\methaliasA{tkgrab.release}{TkCommands}{tkgrab.release}
\methaliasA{tkgrab.set}{TkCommands}{tkgrab.set}
\methaliasA{tkgrab.status}{TkCommands}{tkgrab.status}
\aliasA{tkgrid}{TkCommands}{tkgrid}
\methaliasA{tkgrid.bbox}{TkCommands}{tkgrid.bbox}
\methaliasA{tkgrid.columnconfigure}{TkCommands}{tkgrid.columnconfigure}
\methaliasA{tkgrid.configure}{TkCommands}{tkgrid.configure}
\methaliasA{tkgrid.forget}{TkCommands}{tkgrid.forget}
\methaliasA{tkgrid.info}{TkCommands}{tkgrid.info}
\methaliasA{tkgrid.location}{TkCommands}{tkgrid.location}
\methaliasA{tkgrid.propagate}{TkCommands}{tkgrid.propagate}
\methaliasA{tkgrid.remove}{TkCommands}{tkgrid.remove}
\methaliasA{tkgrid.rowconfigure}{TkCommands}{tkgrid.rowconfigure}
\methaliasA{tkgrid.size}{TkCommands}{tkgrid.size}
\methaliasA{tkgrid.slaves}{TkCommands}{tkgrid.slaves}
\aliasA{tkimage.cget}{TkCommands}{tkimage.cget}
\aliasA{tkimage.configure}{TkCommands}{tkimage.configure}
\aliasA{tkimage.create}{TkCommands}{tkimage.create}
\aliasA{tkimage.names}{TkCommands}{tkimage.names}
\aliasA{tklower}{TkCommands}{tklower}
\aliasA{tkmessageBox}{TkCommands}{tkmessageBox}
\aliasA{tkopen}{TkCommands}{tkopen}
\aliasA{tkpack}{TkCommands}{tkpack}
\methaliasA{tkpack.configure}{TkCommands}{tkpack.configure}
\methaliasA{tkpack.forget}{TkCommands}{tkpack.forget}
\methaliasA{tkpack.info}{TkCommands}{tkpack.info}
\methaliasA{tkpack.propagate}{TkCommands}{tkpack.propagate}
\methaliasA{tkpack.slaves}{TkCommands}{tkpack.slaves}
\aliasA{tkplace}{TkCommands}{tkplace}
\methaliasA{tkplace.configure}{TkCommands}{tkplace.configure}
\methaliasA{tkplace.forget}{TkCommands}{tkplace.forget}
\methaliasA{tkplace.info}{TkCommands}{tkplace.info}
\methaliasA{tkplace.slaves}{TkCommands}{tkplace.slaves}
\aliasA{tkpopup}{TkCommands}{tkpopup}
\aliasA{tkputs}{TkCommands}{tkputs}
\aliasA{tkraise}{TkCommands}{tkraise}
\aliasA{tkread}{TkCommands}{tkread}
\aliasA{tktitle}{TkCommands}{tktitle}
\aliasA{tktitle<\Rdash}{TkCommands}{tktitle<.Rdash.}
\aliasA{tkwait.variable}{TkCommands}{tkwait.variable}
\aliasA{tkwait.visibility}{TkCommands}{tkwait.visibility}
\aliasA{tkwait.window}{TkCommands}{tkwait.window}
\aliasA{tkwinfo}{TkCommands}{tkwinfo}
\aliasA{tkwm.aspect}{TkCommands}{tkwm.aspect}
\aliasA{tkwm.client}{TkCommands}{tkwm.client}
\aliasA{tkwm.colormapwindows}{TkCommands}{tkwm.colormapwindows}
\aliasA{tkwm.command}{TkCommands}{tkwm.command}
\aliasA{tkwm.deiconify}{TkCommands}{tkwm.deiconify}
\aliasA{tkwm.focusmodel}{TkCommands}{tkwm.focusmodel}
\aliasA{tkwm.frame}{TkCommands}{tkwm.frame}
\aliasA{tkwm.geometry}{TkCommands}{tkwm.geometry}
\aliasA{tkwm.grid}{TkCommands}{tkwm.grid}
\aliasA{tkwm.group}{TkCommands}{tkwm.group}
\aliasA{tkwm.iconbitmap}{TkCommands}{tkwm.iconbitmap}
\aliasA{tkwm.iconify}{TkCommands}{tkwm.iconify}
\aliasA{tkwm.iconmask}{TkCommands}{tkwm.iconmask}
\aliasA{tkwm.iconname}{TkCommands}{tkwm.iconname}
\aliasA{tkwm.iconposition}{TkCommands}{tkwm.iconposition}
\aliasA{tkwm.iconwindow}{TkCommands}{tkwm.iconwindow}
\aliasA{tkwm.maxsize}{TkCommands}{tkwm.maxsize}
\aliasA{tkwm.minsize}{TkCommands}{tkwm.minsize}
\aliasA{tkwm.overrideredirect}{TkCommands}{tkwm.overrideredirect}
\aliasA{tkwm.positionfrom}{TkCommands}{tkwm.positionfrom}
\aliasA{tkwm.protocol}{TkCommands}{tkwm.protocol}
\aliasA{tkwm.resizable}{TkCommands}{tkwm.resizable}
\aliasA{tkwm.sizefrom}{TkCommands}{tkwm.sizefrom}
\aliasA{tkwm.state}{TkCommands}{tkwm.state}
\aliasA{tkwm.title}{TkCommands}{tkwm.title}
\aliasA{tkwm.transient}{TkCommands}{tkwm.transient}
\aliasA{tkwm.withdraw}{TkCommands}{tkwm.withdraw}
\aliasA{tkXselection.clear}{TkCommands}{tkXselection.clear}
\aliasA{tkXselection.get}{TkCommands}{tkXselection.get}
\aliasA{tkXselection.handle}{TkCommands}{tkXselection.handle}
\aliasA{tkXselection.own}{TkCommands}{tkXselection.own}
\keyword{misc}{TkCommands}
\begin{Description}\relax
These functions interface to Tk non-widget commands, such as the
window manager interface commands and the geometry managers.
\end{Description}
\begin{Usage}
\begin{verbatim}
tcl(...)
tkcmd(...) # same as tcl(), for compatibility
tktitle(x)

tktitle(x) <- value

tkbell(...)
tkbind(...)
tkbindtags(...)
tkfocus(...)
tklower(...)
tkraise(...)

tkclipboard.append(...)
tkclipboard.clear(...)

tkevent.add(...)
tkevent.delete(...)
tkevent.generate(...)
tkevent.info(...)

tkfont.actual(...)
tkfont.configure(...)
tkfont.create(...)
tkfont.delete(...)
tkfont.families(...)
tkfont.measure(...)
tkfont.metrics(...)
tkfont.names(...)

tkgrab(...)
tkgrab.current(...)
tkgrab.release(...)
tkgrab.set(...)
tkgrab.status(...)

tkimage.cget(...)
tkimage.configure(...)
tkimage.create(...)
tkimage.names(...)

## NB: some widgets also have a selection.clear command, hence the "X".

tkXselection.clear(...)
tkXselection.get(...)
tkXselection.handle(...)
tkXselection.own(...)

tkwait.variable(...)
tkwait.visibility(...)
tkwait.window(...)

## winfo actually has a large number of subcommands, but it's rarely
## used, so use tkwinfo("atom", ...) etc. instead.

tkwinfo(...)

# Window manager interface

tkwm.aspect(...)
tkwm.client(...)
tkwm.colormapwindows(...)
tkwm.command(...)
tkwm.deiconify(...)
tkwm.focusmodel(...)
tkwm.frame(...)
tkwm.geometry(...)
tkwm.grid(...)
tkwm.group(...)
tkwm.iconbitmap(...)
tkwm.iconify(...)
tkwm.iconmask(...)
tkwm.iconname(...)
tkwm.iconposition(...)
tkwm.iconwindow(...)
tkwm.maxsize(...)
tkwm.minsize(...)
tkwm.overrideredirect(...)
tkwm.positionfrom(...)
tkwm.protocol(...)
tkwm.resizable(...)
tkwm.sizefrom(...)
tkwm.state(...)
tkwm.title(...)
tkwm.transient(...)
tkwm.withdraw(...)

### Geometry managers

tkgrid(...)
tkgrid.bbox(...)
tkgrid.columnconfigure(...)
tkgrid.configure(...)
tkgrid.forget(...)
tkgrid.info(...)
tkgrid.location(...)
tkgrid.propagate(...)
tkgrid.rowconfigure(...)
tkgrid.remove(...)
tkgrid.size(...)
tkgrid.slaves(...)

tkpack(...)
tkpack.configure(...)
tkpack.forget(...)
tkpack.info(...)
tkpack.propagate(...)
tkpack.slaves(...)

tkplace(...)
tkplace.configure(...)
tkplace.forget(...)
tkplace.info(...)
tkplace.slaves(...)

## Standard dialogs
tkgetOpenFile(...)
tkgetSaveFile(...)
tkchooseDirectory(...)
tkmessageBox(...)
tkdialog(...)
tkpopup(...)

## File handling functions
tclfile.tail(...)
tclfile.dir(...)
tclopen(...)
tclclose(...)
tclputs(...)
tclread(...)

## Old names, retained for compatibility
tkfile.tail(...)
tkfile.dir(...)
tkopen(...)
tkclose(...)
tkputs(...)
tkread(...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] A window object
\item[\code{value}] For \code{tktitle} assignments, a character string.
\item[\code{...}] Handled via \code{.Tcl.args}
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\code{tcl} provides a generic interface to calling any Tk or Tcl
command by simply running \code{.Tcl.args.objv} on the argument list
and passing the
result to \code{.Tcl.objv}.  Most of the other commands simply call
\code{tcl} with a particular
first argument and sometimes also a second argument giving the
subcommand.
Prior to \R{} 2.0.0, this function was called \code{tkcmd}, which will
still work but will be deprecated in a later version. Also, the file
commands used to be \code{tkopen}, \code{tkclose}, etc., but since
\code{open} and \code{close} do not belong 
to the Tk toolkit, the preferred names are now \code{tclopen}, etc.
Again, the old names are temporarily preserved for compatibility.

\code{tktitle} and its assignment form provides an alternate interface
to Tk's \code{wm title}

There are far too many of these commands to describe them and their
arguments in full.  Please refer to the Tcl/Tk documentation for details.
With a few exceptions, the pattern is that Tk subcommands like
\code{pack configure} are converted to function names like
\code{tkpack.configure}, and Tcl subcommands are like
\code{tclfile.dir}.
\end{Details}
\begin{SeeAlso}\relax
\code{\LinkA{TclInterface}{TclInterface}}, \code{\LinkA{TkWidgets}{TkWidgets}},
\code{\LinkA{TkWidgetcmds}{TkWidgetcmds}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## Not run: 
## These cannot be run by examples() but should be OK when pasted
## into an interactive R session with the tcltk package loaded

tt <- tktoplevel()
tkpack(l1<-tklabel(tt,text="Heave"), l2<-tklabel(tt,text="Ho"))
tkpack.configure(l1, side="left")

## Try stretching the window and then

tkdestroy(tt)
## End(Not run)

\end{ExampleCode}
\end{Examples}

