*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> Tk/dowhenidle (3)              


Tk_DoWhenIdle(3Tk)					    Tk_DoWhenIdle(3Tk)

NAME    [Toc]    [Back]

     Tk_DoWhenIdle, Tk_CancelIdleCall -	invoke a procedure when	there are no
     pending events

SYNOPSIS    [Toc]    [Back]

     #include <tk.h>

     Tk_DoWhenIdle(proc, clientData)

     Tk_CancelIdleCall(proc, clientData)

ARGUMENTS    [Toc]    [Back]

     Tk_IdleProc   *proc	(in)	  Procedure to invoke.

     ClientData	   clientData	(in)	  Arbitrary one-word value to pass to

DESCRIPTION    [Toc]    [Back]

     Tk_DoWhenIdle arranges for	proc to	be invoked when	the application
     becomes idle.  The	application is considered to be	idle when
     Tk_DoOneEvent has been called, it couldn't	find any events	to handle, and
     it	is about to go to sleep	waiting	for an event to	occur.	At this	point
     all pending Tk_DoWhenIdle handlers	are invoked.  For each call to
     Tk_DoWhenIdle there will be a single call to proc;	 after proc is invoked
     the handler is automatically removed.  Tk_DoWhenIdle is only useable in
     programs that use Tk_DoOneEvent to	dispatch events.

     Proc should have arguments	and result that	match the type Tk_IdleProc:
	  typedef void Tk_IdleProc(ClientData clientData);
     The clientData parameter to proc is a copy	of the clientData argument
     given to Tk_DoWhenIdle.  Typically, clientData points to a	data structure
     containing	application-specific information about what proc should	do.

     Tk_CancelIdleCall may be used to cancel one or more previous calls	to
     Tk_DoWhenIdle:  if	there is a Tk_DoWhenIdle handler registered for	proc
     and clientData, then it is	removed	without	invoking it.  If there is more
     than one handler on the idle list that refers to proc and clientData, all
     of	the handlers are removed.  If no existing handlers match proc and
     clientData	then nothing happens.

     Tk_DoWhenIdle is most useful in situations	where (a) a piece of work will
     have to be	done but (b) it's possible that	something will happen in the
     near future that will change what has to be done, or require something
     different to be done.  Tk_DoWhenIdle allows the actual work to be
     deferred until all	pending	events have been processed.  At	this point the
     exact work	to be done will	presumably be known and	it can be done exactly

     For example, Tk_DoWhenIdle	might be used by an editor to defer display
     updates until all pending commands	have been processed.  Without this
     feature, redundant	redisplays might occur in some situations, such	as the

									Page 1

Tk_DoWhenIdle(3Tk)					    Tk_DoWhenIdle(3Tk)

     processing	of a command file.

KEYWORDS    [Toc]    [Back]

     callback, defer, handler, idle

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
bind IRIX Arrange for X events to invoke Tcl scripts
bindtable IRIX invoke scripts in response to X events
dooneevent IRIX wait for events and invoke event handlers
update IRIX Process pending events and/or when-idle handlers
XmUpdateDisplay IRIX A function that processes all pending exposure events immediately
XmUpdateDisplay HP-UX A function that processes all pending exposure events immediately
XmUpdateDisplay Tru64 A function that processes all pending exposure events immediately
crtgenhdlr IRIX associate procedure callback with all X events
DtActionInvoke HP-UX invoke a CDE action
exec IRIX Invoke subprocess(es)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service