1mNAME0m
       focus - Manage the input focus

1mSYNOPSIS0m
       1mfocus0m

       1mfocus 4m22mwindow0m

       1mfocus 4m22moption24m ?4marg24m 4marg24m 4m...24m?


1mDESCRIPTION0m
       The  1mfocus  22mcommand is used to manage the Tk input focus.  At any given
       time, one window on each display is designated  as  the  4mfocus24m  4mwindow24m;
       any  key  press  or key release events for the display are sent to that
       window.  It is normally up to the window manager to redirect the  focus
       among  the  top-level  windows  of a display.  For example, some window
       managers automatically set the input focus to a top-level window  when-
       ever  the  mouse  enters it;  others redirect the input focus only when
       the user clicks on a window.  Usually the window manager will  set  the
       focus  only  to  top-level windows, leaving it up to the application to
       redirect the focus among the children of the top-level.

       Tk remembers one focus window  for  each  top-level  (the  most  recent
       descendant  of  that  top-level to receive the focus);  when the window
       manager gives the focus to a top-level, Tk automatically  redirects  it
       to the remembered window.  Within a top-level Tk uses an 4mexplicit24m focus
       model by default.  Moving the mouse within a top-level  does  not  nor-
       mally  change  the focus;  the focus changes only when a widget decides
       explicitly to claim the focus (e.g., because of  a  button  click),  or
       when the user types a key such as Tab that moves the focus.

       The  Tcl  procedure  1mtk_focusFollowsMouse  22mmay  be invoked to create an
       4mimplicit24m focus model:  it reconfigures Tk so that the focus is set to a
       window  whenever  the mouse enters it.  The Tcl procedures 1mtk_focusNext0m
       and 1mtk_focusPrev 22mimplement a focus order among the windows  of  a  top-
       level;   they  are  used in the default bindings for Tab and Shift-Tab,
       among other things.

       The 1mfocus 22mcommand can take any of the following forms:

       1mfocus  22mReturns the path name of the focus window on  the  display  con-
              taining the application's main window,  or an empty string if no
              window in this  application  has  the  focus  on  that  display.
              Note:   it  is  better  to  specify the display explicitly using
              1m-displayof 22m(see below) so that the code will  work  in  applica-
              tions using multiple displays.

       1mfocus 4m22mwindow0m
              If  the  application  currently  has the input focus on 4mwindow24m's
              display, this command resets the input focus for  4mwindow24m's  dis-
              play  to 4mwindow24m and returns an empty string.  If the application
              doesn't currently have the  input  focus  on  4mwindow24m's  display,
              4mwindow24m  will  be remembered as the focus for its top-level;  the
              next time the focus arrives at the top-level, Tk  will  redirect
              it  to  4mwindow24m.   If  4mwindow24m is an empty string then the command
              does nothing.

       1mfocus -displayof 4m22mwindow0m
              Returns the name of the focus window on the  display  containing
              4mwindow24m.   If the focus window for 4mwindow24m's display isn't in this
              application, the return value is an empty string.

       1mfocus -force 4m22mwindow0m
              Sets the focus of 4mwindow24m's display to 4mwindow24m, even if the appli-
              cation  doesn't  currently have the input focus for the display.
              This command should be used sparingly, if  at  all.   In  normal
              usage,  an  application  should  not claim the focus for itself;
              instead, it should wait for the window manager to  give  it  the
              focus.  If 4mwindow24m is an empty string then the command does noth-
              ing.

       1mfocus -lastfor 4m22mwindow0m
              Returns the name of the most recent window  to  have  the  input
              focus among all the windows in the same top-level as 4mwindow24m.  If
              no window in that top-level has ever had the input focus, or  if
              the  most recent focus window has been deleted, then the name of
              the top-level is returned.  The return value is the window  that
              will  receive  the  input focus the next time the window manager
              gives the focus to the top-level.


1mQUIRKS0m
       When an internal window receives the input focus, Tk  doesn't  actually
       set  the  X  focus to that window;  as far as X is concerned, the focus
       will stay on the top-level window containing the window with the focus.
       However,  Tk  generates  FocusIn  and  FocusOut events just as if the X
       focus were on the internal window.   This approach gets around a number
       of  problems  that  would occur if the X focus were actually moved; the
       fact that the X focus is on the top-level is invisible unless you use C
       code to query the X server directly.


1mKEYWORDS0m
