ttdt_sender_imprint_on(3) ToolTalk Functions ttdt_sender_imprint_on(3)NAMEttdt_sender_imprint_on - act like a child of the specified tool
SYNOPSIS
#include <Tt/tttk.h>
Tt_status ttdt_sender_imprint_on(const char *handler,
Tt_message contract,
char **display,
int *width,
int *height,
int *xoffset,
int *yoffset,
XtAppContext app2run,
int ms_timeout);
DESCRIPTION
The ttdt_sender_imprint_on() function is used to make the calling tool
act equivalently to a child of another specified tool. The calling
tool adopts the other tool's X11 display, locale, and current working
directory. It also learns the other tool's X11 geometry, so that it
may position itself appropriately.
If the handler argument is non-NULL, the requests are addressed to that
procid using TT_HANDLER. If handler is NULL and the contract argument
is non-NULL, the requests are addressed to the tt_message_sender(3) of
the contract, using TT_HANDLER.
The contract argument is passed to tttk_message_create(3) as the con‐
text argument.
If the display argument is not NULL, ttdt_sender_imprint_on() returns
the other tool's display in *display. If display is NULL,
ttdt_sender_imprint_on() sets the DISPLAY environment variable to the
other tool's display.
If each of the width, height, xoffset, and yoffset arguments are NULL,
then ttdt_sender_imprint_on() does not send the other tool a Get_Geome‐
try request.
The ttdt_sender_imprint_on() function passes the app2run and ms_timeout
arguments to tttk_block_while(3), blocking on the replies to the
requests it sends.
If the display argument is not NULL, ttdt_sender_imprint_on() sets
*display to a string that can be freed with tt_free().
If for some reason no width or height is returned by the other tool,
ttdt_sender_imprint_on() sets *width or *height to −1. If no posi‐
tional information is returned, ttdt_sender_imprint_on() sets *xoffset
and *yoffset to {INT_MAX}.
RETURN VALUE
Upon successful completion, the ttdt_sender_imprint_on() function
returns the status of the operation as one of the following Tt_status
values:
TT_OK The operation completed successfully.
TT_DESKTOP_ETIMEDOUT
One or more of the sent requests did not complete within
ms_timeout milliseconds.
TT_ERR_NOMEM
There is insufficient memory available to perform the func‐
tion.
TT_ERR_NOMP
The ttsession(1) process is not running and the ToolTalk
service cannot restart it.
TT_ERR_OVERFLOW
The ToolTalk service has more active messages than it can
handle. (The maximum number of active messages is implemen‐
tation specific, but is at least 2000.)
TT_ERR_PROCID
The specified process identifier is out of date or invalid.
APPLICATION USAGE
If both the handler and contract are zero, the requests are addressed
to no tool in particular, using TT_PROCEDURE; this is not recommended.
SEE ALSOtttk(5), tt_free(3), tt_message_sender(3), tttk_block_while(3),
tttk_message_create(3).
ToolTalk 1.3 1 March 1996 ttdt_sender_imprint_on(3)