|
i3
|
#include <config.h>#include "data.h"#include "xcursor.h"#include "i3-atoms_rest.xmacro.h"#include "i3-atoms_NET_SUPPORTED.xmacro.h"

Go to the source code of this file.
Macros | |
| #define | _NET_WM_STATE_REMOVE 0 |
| #define | _NET_WM_STATE_ADD 1 |
| #define | _NET_WM_STATE_TOGGLE 2 |
| #define | XCB_NUM_LOCK 0xff7f |
| #define | CHILD_EVENT_MASK |
| The XCB_CW_EVENT_MASK for the child (= real window) | |
| #define | FRAME_EVENT_MASK |
| The XCB_CW_EVENT_MASK for its frame. | |
| #define | ROOT_EVENT_MASK |
| #define | xmacro(atom) extern xcb_atom_t A_##atom; |
Functions | |
| xcb_window_t | create_window (xcb_connection_t *conn, Rect r, uint16_t depth, xcb_visualid_t visual, uint16_t window_class, enum xcursor_cursor_t cursor, bool map, uint32_t mask, uint32_t *values) |
| Convenience wrapper around xcb_create_window which takes care of depth, generating an ID and checking for errors. | |
| void | fake_absolute_configure_notify (Con *con) |
| Generates a configure_notify_event with absolute coordinates (relative to the X root window, not to the client’s frame) for the given client. | |
| void | send_take_focus (xcb_window_t window, xcb_timestamp_t timestamp) |
| Sends the WM_TAKE_FOCUS ClientMessage to the given window. | |
| void | xcb_set_window_rect (xcb_connection_t *conn, xcb_window_t window, Rect r) |
| Configures the given window to have the size/position specified by given rect. | |
| xcb_atom_t | xcb_get_preferred_window_type (xcb_get_property_reply_t *reply) |
| Returns the first supported _NET_WM_WINDOW_TYPE atom. | |
| bool | xcb_reply_contains_atom (xcb_get_property_reply_t *prop, xcb_atom_t atom) |
| Returns true if the given reply contains the given data. | |
| uint16_t | get_visual_depth (xcb_visualid_t visual_id) |
| Get depth of visual specified by visualid. | |
| xcb_visualtype_t * | get_visualtype_by_id (xcb_visualid_t visual_id) |
| Get visual type specified by visualid. | |
| xcb_visualid_t | get_visualid_by_depth (uint16_t depth) |
| Get visualid with specified depth. | |
| void | xcb_add_property_atom (xcb_connection_t *conn, xcb_window_t window, xcb_atom_t property, xcb_atom_t atom) |
| Add an atom to a list of atoms the given property defines. | |
| void | xcb_remove_property_atom (xcb_connection_t *conn, xcb_window_t window, xcb_atom_t property, xcb_atom_t atom) |
| Remove an atom from a list of atoms the given property defines without removing any other potentially set atoms. | |
| void | xcb_grab_buttons (xcb_connection_t *conn, xcb_window_t window, int *buttons) |
| Grab the specified buttons on a window when managing it. | |
Variables | |
| I3_NET_SUPPORTED_ATOMS_XMACRO I3_REST_ATOMS_XMACRO unsigned int | xcb_numlock_mask |
| #define CHILD_EVENT_MASK |
| #define FRAME_EVENT_MASK |
The XCB_CW_EVENT_MASK for its frame.
| #define ROOT_EVENT_MASK |
| xcb_window_t create_window | ( | xcb_connection_t * | conn, |
| Rect | r, | ||
| uint16_t | depth, | ||
| xcb_visualid_t | visual, | ||
| uint16_t | window_class, | ||
| enum xcursor_cursor_t | cursor, | ||
| bool | map, | ||
| uint32_t | mask, | ||
| uint32_t * | values | ||
| ) |
Convenience wrapper around xcb_create_window which takes care of depth, generating an ID and checking for errors.
Definition at line 19 of file xcb.c.
References conn, ELOG, Rect::height, root, Rect::width, Rect::x, xcursor_get_cursor(), and Rect::y.
Referenced by create_drop_indicator(), open_placeholder_window(), resize_graphical_handler(), sighandler_create_dialogs(), and x_con_init().

| void fake_absolute_configure_notify | ( | Con * | con | ) |
Generates a configure_notify_event with absolute coordinates (relative to the X root window, not to the client’s frame) for the given client.
Definition at line 63 of file xcb.c.
References Con::border_width, conn, DLOG, fake_configure_notify(), Rect::height, Window::id, Con::rect, Rect::width, Con::window, Con::window_rect, Rect::x, and Rect::y.
Referenced by handle_configure_request(), and x_push_node().

| uint16_t get_visual_depth | ( | xcb_visualid_t | visual_id | ) |
Get depth of visual specified by visualid.
Definition at line 170 of file xcb.c.
References root_screen, and visual_id.
Referenced by manage_window().
| xcb_visualid_t get_visualid_by_depth | ( | uint16_t | depth | ) |
Get visualid with specified depth.
Definition at line 212 of file xcb.c.
References root_screen.
Referenced by sighandler_create_dialogs(), x_con_init(), and x_push_node().
| xcb_visualtype_t * get_visualtype_by_id | ( | xcb_visualid_t | visual_id | ) |
Get visual type specified by visualid.
Definition at line 191 of file xcb.c.
References root_screen, and visual_id.
Referenced by sighandler_create_dialogs(), x_con_init(), and x_push_node().
| void send_take_focus | ( | xcb_window_t | window, |
| xcb_timestamp_t | timestamp | ||
| ) |
| void xcb_add_property_atom | ( | xcb_connection_t * | conn, |
| xcb_window_t | window, | ||
| xcb_atom_t | property, | ||
| xcb_atom_t | atom | ||
| ) |
Add an atom to a list of atoms the given property defines.
This is useful, for example, for manipulating _NET_WM_STATE.
Definition at line 235 of file xcb.c.
References conn.
Referenced by con_set_fullscreen_mode(), ewmh_update_focused(), ewmh_update_sticky(), and set_hidden_state().
| xcb_atom_t xcb_get_preferred_window_type | ( | xcb_get_property_reply_t * | reply | ) |
Returns the first supported _NET_WM_WINDOW_TYPE atom.
Definition at line 121 of file xcb.c.
Referenced by manage_window(), and window_update_type().
| void xcb_grab_buttons | ( | xcb_connection_t * | conn, |
| xcb_window_t | window, | ||
| int * | buttons | ||
| ) |
Grab the specified buttons on a window when managing it.
Definition at line 279 of file xcb.c.
Referenced by manage_window(), and regrab_all_buttons().
| void xcb_remove_property_atom | ( | xcb_connection_t * | conn, |
| xcb_window_t | window, | ||
| xcb_atom_t | property, | ||
| xcb_atom_t | atom | ||
| ) |
Remove an atom from a list of atoms the given property defines without removing any other potentially set atoms.
This is useful, for example, for manipulating _NET_WM_STATE.
Definition at line 245 of file xcb.c.
Referenced by con_set_fullscreen_mode(), ewmh_update_focused(), ewmh_update_sticky(), and set_hidden_state().
| bool xcb_reply_contains_atom | ( | xcb_get_property_reply_t * | prop, |
| xcb_atom_t | atom | ||
| ) |
Returns true if the given reply contains the given data.
Definition at line 151 of file xcb.c.
Referenced by manage_window().
| void xcb_set_window_rect | ( | xcb_connection_t * | conn, |
| xcb_window_t | window, | ||
| Rect | r | ||
| ) |
Configures the given window to have the size/position specified by given rect.
Definition at line 105 of file xcb.c.
References add_ignore_event(), conn, and Rect::x.
Referenced by restore_geometry(), and x_push_node().

|
extern |
Definition at line 12 of file xcb.c.
Referenced by add_keycode_if_matches(), grab_keycode_for_binding(), handle_mapping_notify(), main(), and translate_keysyms().