xcb_set_input_focus - Man Page

Sets input focus

Synopsis

#include <xcb/xproto.h>

Request function

xcb_void_cookie_t xcb_set_input_focus(xcb_connection_t *conn, uint8_t revert_to, xcb_window_t focus, xcb_timestamp_t time);

Request Arguments

conn

The XCB connection to X11.

revert_to

One of the following values:

XCB_INPUT_FOCUS_NONE

The focus reverts to XCB_NONE, so no window will have the input focus.

XCB_INPUT_FOCUS_POINTER_ROOT

The focus reverts to XCB_POINTER_ROOT respectively. When the focus reverts, FocusIn and FocusOut events are generated, but the last-focus-change time is not changed.

XCB_INPUT_FOCUS_PARENT

The focus reverts to the parent (or closest viewable ancestor) and the new revert_to value is XCB_INPUT_FOCUS_NONE.

XCB_INPUT_FOCUS_FOLLOW_KEYBOARD

NOT YET DOCUMENTED. Only relevant for the xinput extension.

Specifies what happens when the focus window becomes unviewable (if focus is neither XCB_NONE nor XCB_POINTER_ROOT).

focus

The window to focus. All keyboard events will be reported to this window. The window must be viewable (TODO), or a xcb_match_error_t occurs (TODO).

If focus is XCB_NONE (TODO), all keyboard events are discarded until a new focus window is set.

If focus is XCB_POINTER_ROOT (TODO), focus is on the root window of the screen on which the pointer is on currently.

time

Timestamp to avoid race conditions when running X over the network.

The special value XCB_CURRENT_TIME will be replaced with the current server time.

Description

Changes the input focus and the last-focus-change time. If the specified time is earlier than the current last-focus-change time, the request is ignored (to avoid race conditions when running X over the network).

A FocusIn and FocusOut event is generated when focus is changed.

Return Value

Returns an xcb_void_cookie_t. Errors (if any) have to be handled in the event loop.

If you want to handle errors directly with xcb_request_check instead, use xcb_set_input_focus_checked. See xcb-requests(3) for details.

Errors

xcb_match_error_t

The specified focus window is not viewable.

xcb_value_error_t

TODO: Reasons?

xcb_window_error_t

The specified focus window does not exist.

See Also

xcb-requests(3), xcb_focus_in_event_t(3), xcb_focus_out_event_t(3)

Author

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

Referenced By

xcb_warp_pointer(3).

The man page xcb_set_input_focus_checked(3) is an alias of xcb_set_input_focus(3).

libxcb 1.17.0 X Version 11 XCB Requests