\Header{TkCommands}{Tk non-widget commands}
\alias{tkbell}{TkCommands}
\alias{tkbind}{TkCommands}
\alias{tkbindtags}{TkCommands}
\alias{tkclipboard.append}{TkCommands}
\alias{tkclipboard.clear}{TkCommands}
\alias{tkcmd}{TkCommands}
\alias{tkevent.add}{TkCommands}
\alias{tkevent.delete}{TkCommands}
\alias{tkevent.generate}{TkCommands}
\alias{tkevent.info}{TkCommands}
\alias{tkfocus}{TkCommands}
\alias{tkfont.actual}{TkCommands}
\alias{tkfont.configure}{TkCommands}
\alias{tkfont.create}{TkCommands}
\alias{tkfont.delete}{TkCommands}
\alias{tkfont.families}{TkCommands}
\alias{tkfont.measure}{TkCommands}
\alias{tkfont.metrics}{TkCommands}
\alias{tkfont.names}{TkCommands}
\alias{tkgrab}{TkCommands}
\methalias{tkgrab.current}{TkCommands}
\methalias{tkgrab.release}{TkCommands}
\methalias{tkgrab.set}{TkCommands}
\methalias{tkgrab.status}{TkCommands}
\alias{tkgrid}{TkCommands}
\methalias{tkgrid.bbox}{TkCommands}
\methalias{tkgrid.columnconfigure}{TkCommands}
\methalias{tkgrid.configure}{TkCommands}
\methalias{tkgrid.forget}{TkCommands}
\methalias{tkgrid.info}{TkCommands}
\methalias{tkgrid.location}{TkCommands}
\methalias{tkgrid.propagate}{TkCommands}
\methalias{tkgrid.remove}{TkCommands}
\methalias{tkgrid.rowconfigure}{TkCommands}
\methalias{tkgrid.size}{TkCommands}
\methalias{tkgrid.slaves}{TkCommands}
\alias{tklower}{TkCommands}
\alias{tkpack}{TkCommands}
\methalias{tkpack.configure}{TkCommands}
\methalias{tkpack.forget}{TkCommands}
\methalias{tkpack.info}{TkCommands}
\methalias{tkpack.propagate}{TkCommands}
\methalias{tkpack.slaves}{TkCommands}
\alias{tkplace}{TkCommands}
\methalias{tkplace.configure}{TkCommands}
\methalias{tkplace.forget}{TkCommands}
\methalias{tkplace.info}{TkCommands}
\methalias{tkplace.slaves}{TkCommands}
\alias{tkraise}{TkCommands}
\alias{tktitle}{TkCommands}
\alias{tktitle<\Rdash}{TkCommands}
\alias{tkwait.variable}{TkCommands}
\alias{tkwait.visibility}{TkCommands}
\alias{tkwait.window}{TkCommands}
\alias{tkwinfo}{TkCommands}
\alias{tkwm.aspect}{TkCommands}
\alias{tkwm.client}{TkCommands}
\alias{tkwm.colormapwindows}{TkCommands}
\alias{tkwm.command}{TkCommands}
\alias{tkwm.deiconify}{TkCommands}
\alias{tkwm.focusmodel}{TkCommands}
\alias{tkwm.frame}{TkCommands}
\alias{tkwm.geometry}{TkCommands}
\alias{tkwm.grid}{TkCommands}
\alias{tkwm.group}{TkCommands}
\alias{tkwm.iconbitmap}{TkCommands}
\alias{tkwm.iconify}{TkCommands}
\alias{tkwm.iconmask}{TkCommands}
\alias{tkwm.iconname}{TkCommands}
\alias{tkwm.iconposition}{TkCommands}
\alias{tkwm.iconwindow}{TkCommands}
\alias{tkwm.maxsize}{TkCommands}
\alias{tkwm.minsize}{TkCommands}
\alias{tkwm.overrideredirect}{TkCommands}
\alias{tkwm.positionfrom}{TkCommands}
\alias{tkwm.protocol}{TkCommands}
\alias{tkwm.resizable}{TkCommands}
\alias{tkwm.sizefrom}{TkCommands}
\alias{tkwm.state}{TkCommands}
\alias{tkwm.title}{TkCommands}
\alias{tkwm.transient}{TkCommands}
\alias{tkwm.withdraw}{TkCommands}
\alias{tkXselection.clear}{TkCommands}
\alias{tkXselection.get}{TkCommands}
\alias{tkXselection.handle}{TkCommands}
\alias{tkXselection.own}{TkCommands}
\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}
tkcmd(...)
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(...)

## 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(...)

\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{...}] Handled via \code{.Tcl.args}
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\code{tkcmd} provides a generic interface to calling any Tk or Tcl
command by simply running \code{.Tcl.args} on the arguments and passing the
result to \code{.Tcl}. Most of the other commands simply call
\code{tkcmd} with a particular
first argument and sometimes also a second argument giving the
subcommand.

\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.
Except for a few exceptions, the pattern is that  Tcl subcommands like
\code{pack configure} are converted to function names like
\code{tkpack.configure}.\end{Details}
\begin{SeeAlso}\relax
\code{\Link{TclInterface}}, \code{\Link{TkWidgets}},
\code{\Link{TkWidgetcmds}}\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}

## 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{ExampleCode}
\end{Examples}

