85 lines
3.9 KiB
HTML
85 lines
3.9 KiB
HTML
<HTML><HEAD><TITLE>Tk Built-In Commands - send manual page</TITLE></HEAD>
|
|
<BR>
|
|
<BODY bgcolor = #c3c3ff>
|
|
<H2><IMG ALIGN=BOTTOM SRC="./Img/ManPageBlue.gif"> send</H2>
|
|
<I>Execute a command in a different application</I><P><IMG ALIGN=TOP SRC="./Img/line-red.gif">
|
|
<H3><A NAME="M2">SYNOPSIS</A></H3>
|
|
(<B>send ?</B><I>options</I>? <I>app cmd </I>?<I>arg arg ...</I>?)<BR>
|
|
(<B>inhibit-send</B>)<BR>
|
|
<H3><A NAME="M3">DESCRIPTION</A></H3>
|
|
This procedure arranges for <I>cmd</I> (and <I>arg</I>s) to be executed in the
|
|
application named by <I>app</I>. It returns the result (converted to a string)
|
|
that procedure execution.
|
|
<I>App</I> may be the name of any application whose main window is
|
|
on the display containing the sender's main window; it need not
|
|
be within the same process.
|
|
If no <I>arg</I> arguments are present, then the procedure to be executed is
|
|
contained entirely within the <I>cmd</I> argument. If one or
|
|
more <I>arg</I>s are present, they are concatenated to form the
|
|
procedure to be executed, just as for the <B>eval</B> procedure.
|
|
<P>
|
|
If the initial arguments of the procedure begin with ``-''
|
|
they are treated as options. The following options are
|
|
currently defined:
|
|
<P>
|
|
<DL>
|
|
<DT><A NAME="M4"><B>:async</B></A><DD>
|
|
Requests asynchronous invocation. In this case the <B>send</B>
|
|
procedure will complete immediately without waiting for <I>cmd</I>
|
|
to complete in the target application; no result will be available
|
|
and errors in the sent procedure will be ignored.
|
|
If the target application is in the same process as the sending
|
|
application then the \fB\:async\fR option is ignored.
|
|
<P>
|
|
<DT><A NAME="M5"><B>:displayof</B> <I>widget-name</I></A><DD>
|
|
Specifies that the target application's main window is on the display
|
|
of the window given by <I>widget-name</I>, instead of the display containing
|
|
the application's main window.
|
|
<P>
|
|
<DT><A NAME="M6"><B>:-</B></A><DD>
|
|
Serves no purpose except to terminate the list of options. This
|
|
option is needed only if <I>app</I> could contain a leading ``-''
|
|
character.
|
|
|
|
<P>
|
|
</DL>
|
|
<H3><A NAME="M7">APPLICATION NAMES</A></H3>
|
|
The name of an application is set initially from the name of the
|
|
program or script that created the application.
|
|
You can query and change the name of an application with the
|
|
<B><A HREF=../Help/./tk.n.html>tk appname</A></B> procedure.
|
|
|
|
<H3><A NAME="M8">DISABLING SENDS</A></H3>
|
|
The <B>send</B> procedure can be removed from an application
|
|
by calling the <B>inhibit-send</B><I> procedure.
|
|
If the </I><B>send</B> procedure is removed then the application
|
|
will not respond to incoming send requests anymore, nor will it
|
|
be able to issue outgoing requests.
|
|
Communication can be reenabled by invoking the <B><A HREF=../Help/./tk.n.html>tk appname</A></B>
|
|
procedure.
|
|
|
|
<H3><A NAME="M9">SECURITY</A></H3>
|
|
The <B>send</B> procedure is potentially a serious security loophole,
|
|
since any application that can connect to your X server can send
|
|
scripts to your applications.
|
|
These incoming scripts can use STk to read and
|
|
write your files and invoke subprocesses under your name.
|
|
Host-based access control such as that provided by <B>xhost</B>
|
|
is particularly insecure, since it allows anyone with an account
|
|
on particular hosts to connect to your server, and if disabled it
|
|
allows anyone anywhere to connect to your server.
|
|
In order to provide at least a small amount of
|
|
security, Tk checks the access control being used by the server
|
|
and rejects incoming sends unless (a) <B>xhost</B>-style access control
|
|
is enabled (i.e. only certain hosts can establish connections) and (b) the
|
|
list of enabled hosts is empty.
|
|
This means that applications cannot connect to your server unless
|
|
they use some other form of authorization
|
|
such as that provide by <B>xauth</B>.
|
|
|
|
<H3><A NAME="M10">SEE ALSO</A></H3>
|
|
<B><A HREF="./tk.n.html">tk</A></B>
|
|
<P><IMG ALIGN=TOP SRC="./Img/line-red.gif"><P>
|
|
<A HREF=./STk-hlp.html><IMG ALIGN=BOTTOM SRC="./Img/RefBookBlue.gif"> Back to the <B>STk</B> main page</A>
|
|
</BODY></HTML>
|