Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tk_CreateClientMessageHandler (3tk)

Name

Tk_CreateClientMessageHandler - ciate procedure callback with ClientMessage type X events

Synopsis

#include <tk.h>

Tk_CreateClientMessageHandler(proc)

Tk_DeleteClientMessageHandler(proc)

Description

Tk Library Procedures                       Tk_CreateClientMessageHandler(3tk)



______________________________________________________________________________

NAME
       Tk_CreateClientMessageHandler,  Tk_DeleteClientMessageHandler  -  asso-
       ciate procedure callback with ClientMessage type X events

SYNOPSIS
       #include <tk.h>

       Tk_CreateClientMessageHandler(proc)

       Tk_DeleteClientMessageHandler(proc)

ARGUMENTS
       Tk_ClientMessageProc *proc (in)           Procedure to invoke  whenever
                                                 a   ClientMessage   X   event
                                                 occurs on any display.
______________________________________________________________________________

DESCRIPTION
       Tk_CreateClientMessageHandler arranges for proc to be  invoked  in  the
       future  whenever  a ClientMessage X event occurs that is not handled by
       WM_PROTOCOL.  Tk_CreateClientMessageHandler  is  intended  for  use  by
       applications  which  need to watch X ClientMessage events, such as drag
       and drop applications.

       The callback to proc will be made  by  Tk_HandleEvent;  this  mechanism
       only  works in programs that dispatch events through Tk_HandleEvent (or
       through  other  Tk  procedures  that  call  Tk_HandleEvent,   such   as
       Tk_DoOneEvent or Tk_MainLoop).

       Proc should have arguments and result that match the type Tk_ClientMes-
       sageProc:
              typedef int Tk_ClientMessageProc(
                      Tk_Window tkwin,
                      XEvent *eventPtr);
       The tkwin parameter to proc is the Tk window which is  associated  with
       this event.  EventPtr is a pointer to the X event.

       Whenever  an  X ClientMessage event is processed by Tk_HandleEvent, the
       proc is called if it was not handled  as  a  WM_PROTOCOL.   The  return
       value  from proc is normally 0.  A non-zero return value indicates that
       the event is not to be handled further; that is, proc has done all pro-
       cessing that is to be allowed for the event.

       If  there are multiple ClientMessage event handlers, each one is called
       for each event, in the order in which they were established.

       Tk_DeleteClientMessageHandler may be called to delete a previously-cre-
       ated ClientMessage event handler: it deletes each handler it finds that
       matches the proc argument.  If no such handler exists, then  Tk_Delete-
       ClientMessageHandler  returns without doing anything.  Although Tk sup-
       ports it, it's probably a bad idea to have more than one callback  with
       the same proc argument.

KEYWORDS
       bind, callback, event, handler



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tk-8     |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source        was        downloaded        from         https://source-
       forge.net/projects/tcl/files/Tcl/8.6.7/tk8.6.7-src.tar.gz/download.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tk                                    8.4
                                            Tk_CreateClientMessageHandler(3tk)