Version 7 of focus

Updated 2009-05-11 13:28:21 by oehhar

focus - Manage the input focus

http://purl.org/tcl/home/man/tcl8.4/TkCmd/focus.htm

focus

Returns the path name of the focus window on the display containing 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 -displayof (see below) so that the code will work in applications using multiple displays.

focus window

If the application currently has the input focus on window 's display, this command resets the input focus for window 's display to window and returns an empty string. If the application doesn't currently have the input focus on window 's display, window 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 window. If window is an empty string then the command does nothing.

focus -displayof window

Returns the name of the focus window on the display containing window. If the focus window for window 's display isn't in this application, the return value is an empty string.

focus -force window

Sets the focus of window's display to window, even if the application 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 window is an empty string then the command does nothing.

focus -lastfor window

Returns the name of the most recent window to have the input focus among all the windows in the same top-level as window. 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.


When is it important to use focus?


To change the order in which focus moves between widgets upon the pressing of 'Tab', either:

  • change the order in which the widgets are created (N.B. packing order does not matter!)
  • use the raise and lower commands to change stacking order

See also:


RS 2006-05-24: focus -force $toplevel on Windows has the effect of flashing the app's button in the task bar.


Tk syntax help - Arts and Crafts of Tcl-Tk Programming - Category Command - Category Introspection