XSetInputFocus(3X11) XLIB FUNCTIONS XSetInputFocus(3X11)NAME
XSetInputFocus, XGetInputFocus - control input focus
SYNTAX
XSetInputFocus(display, focus, revert_to, time)
Display *display;
Window focus;
int revert_to;
Time time;
XGetInputFocus(display, focus_return, revert_to_return)
Display *display;
Window *focus_return;
int *revert_to_return;
ARGUMENTS
display Specifies the connection to the X server.
focus Specifies the window, PointerRoot, or None.
focus_return
Returns the focus window, PointerRoot, or None.
revert_to Specifies where the input focus reverts to if
the window becomes not viewable. You can pass
RevertToParent, RevertToPointerRoot, or
RevertToNone.
revert_to_return
Returns the current focus state (RevertToParent,
RevertToPointerRoot, or RevertToNone).
time Specifies the time. You can pass either a
timestamp or CurrentTime.
DESCRIPTION
The XSetInputFocus function changes the input focus and
the last-focus-change time. It has no effect if the spec-
ified time is earlier than the current last-focus-change
time or is later than the current X server time. Other-
wise, the last-focus-change time is set to the specified
time (CurrentTime is replaced by the current X server
time). XSetInputFocus causes the X server to generate
FocusIn and FocusOut events.
Depending on the focus argument, the following occurs:
o If focus is None, all keyboard events are discarded
until a new focus window is set, and the revert_to
argument is ignored.
o If focus is a window, it becomes the keyboard's focus
window. If a generated keyboard event would normally
be reported to this window or one of its inferiors,
X Version 11 Release 6.4 1
XSetInputFocus(3X11) XLIB FUNCTIONS XSetInputFocus(3X11)
the event is reported as usual. Otherwise, the event
is reported relative to the focus window.
o If focus is PointerRoot, the focus window is dynami-
cally taken to be the root window of whatever screen
the pointer is on at each keyboard event. In this
case, the revert_to argument is ignored.
The specified focus window must be viewable at the time
XSetInputFocus is called, or a BadMatch error results. If
the focus window later becomes not viewable, the X server
evaluates the revert_to argument to determine the new
focus window as follows:
o If revert_to is RevertToParent, the focus reverts to
the parent (or the closest viewable ancestor), and
the new revert_to value is taken to be RevertToNone.
o If revert_to is RevertToPointerRoot or RevertToNone,
the focus reverts to PointerRoot or None, respec-
tively. When the focus reverts, the X server gener-
ates FocusIn and FocusOut events, but the last-focus-
change time is not affected.
XSetInputFocus can generate BadMatch, BadValue, and Bad-
Window errors.
The XGetInputFocus function returns the focus window and
the current focus state.
DIAGNOSTICS
BadValue Some numeric value falls outside the range of
values accepted by the request. Unless a spe-
cific range is specified for an argument, the
full range defined by the argument's type is
accepted. Any argument defined as a set of
alternatives can generate this error.
BadWindow A value for a Window argument does not name a
defined Window.
SEE ALSOXWarpPointer(3X11)
Xlib - C Language X Interface
X Version 11 Release 6.4 2