bindtags(n)		     Ck Built-In Commands		   bindtags(n)



______________________________________________________________________________

NAME
       bindtags	 -  Determine  which  bindings apply to a window, and order of
       evaluation

SYNOPSIS
       bindtags window ?tagList?
_________________________________________________________________


DESCRIPTION
       When a binding is created with the bind command, it is  associated  ei-
       ther with a particular window such as .a.b.c, a class name such as But-
       ton, the keyword all, or any other string.   All	 of  these  forms  are
       called  binding tags.  Each window contains a list of binding tags that
       determine how events are processed for the window.  When an  event  oc-
       curs  in a window, it is applied to each of the window's tags in order:
       for each tag, the most specific binding that matches the given tag  and
       event  is  executed.   See the bind command for more information on the
       matching process.

       By default, each window has four binding tags consisting of the name of
       the  window,  the window's class name, the name of the window's nearest
       toplevel ancestor, and all, in that order.  Toplevel windows have  only
       three  tags  by default, since the toplevel name is the same as that of
       the window.  The bindtags command allows the binding tags for a	window
       to be read and modified.

       If  bindtags is invoked with only one argument, then the current set of
       binding tags for window is returned as a list.  If the tagList argument
       is  specified  to bindtags, then it must be a proper list; the tags for
       window are changed to the  elements  of	the  list.   The  elements  of
       tagList may be arbitrary strings;  however, any tag starting with a dot
       is treated as the name of a window;  if no window by that  name	exists
       at  the	time  an  event is processed, then the tag is ignored for that
       event.  The order of the elements in tagList determines	the  order  in
       which binding scripts are executed in response to events.  For example,
       the command bindtags .b {all . Button .b} reverses the order  in	 which
       binding	scripts	 will  be  evaluated for a button named .b so that all
       bindings are invoked first, following by	 bindings  for	.b's  toplevel
       (``.''), followed by class bindings, followed by bindings for .b.

       The  bindtags  command  may  be	used to introduce arbitrary additional
       binding tags for a window, or to remove standard	 tags.	 For  example,
       the command bindtags .b {.b TrickyButton . all} replaces the Button tag
       for .b with TrickyButton.  This means that the default widget  bindings
       for  buttons,  which are associated with the Button tag, will no longer
       apply to .b, but any bindings  associated  with	TrickyButton  (perhaps
       some new button behavior) will apply.


SEE ALSO
       bind


KEYWORDS
       binding, event, tag



Ck				      8.0			   bindtags(n)
