xcb_set_input_focus - Sets input focus
#include <xcb/xproto.h>
xcb_void_cookie_t
xcb_set_input_focus(xcb_connection_t *conn,
uint8_t revert_to, xcb_window_t focus,
xcb_timestamp_t time);
- 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.
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.
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.
- 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.
xcb-requests(3), xcb_focus_in_event_t(3),
xcb_focus_out_event_t(3)
Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and
improvements.