i3
|
#include "all.h"
Go to the source code of this file.
Functions | |
TAILQ_HEAD (cached_fonts_head, Font) | |
uint32_t | get_colorpixel (char *hex) |
Returns the colorpixel to use for the given hex color (think of HTML). | |
xcb_window_t | create_window (xcb_connection_t *conn, Rect dims, 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 | xcb_change_gc_single (xcb_connection_t *conn, xcb_gcontext_t gc, uint32_t mask, uint32_t value) |
Changes a single value in the graphic context (so one doesn’t have to define an array of values) | |
void | xcb_draw_line (xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext_t gc, uint32_t colorpixel, uint32_t x, uint32_t y, uint32_t to_x, uint32_t to_y) |
Draws a line from x,y to to_x,to_y using the given color. | |
void | xcb_draw_rect (xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext_t gc, uint32_t colorpixel, uint32_t x, uint32_t y, uint32_t width, uint32_t height) |
Draws a rectangle from x,y with width,height using the given color. | |
void | fake_configure_notify (xcb_connection_t *conn, Rect r, xcb_window_t window) |
Generates a configure_notify event and sends it to the given window Applications need this to think they’ve configured themselves correctly. | |
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) |
Sends the WM_TAKE_FOCUS ClientMessage to the given window. | |
void | xcb_get_numlock_mask (xcb_connection_t *conn) |
Finds out which modifier mask is the one for numlock, as the user may change this. | |
void | xcb_raise_window (xcb_connection_t *conn, xcb_window_t window) |
Raises the given window (typically client->frame) above all other windows. | |
int | predict_text_width (char *text, int length) |
Calculate the width of the given text (16-bit characters, UCS) with given real length (amount of glyphs) using the given font. | |
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. | |
bool | xcb_reply_contains_atom (xcb_get_property_reply_t *prop, xcb_atom_t atom) |
xcb_window_t create_window | ( | xcb_connection_t * | conn, |
Rect | dims, | ||
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 95 of file xcb.c.
References Rect::height, Font::id, load_font(), root, Rect::width, Rect::x, xcursor_get_cursor(), xcursor_get_xcb_cursor(), xcursor_supported, and Rect::y.
Referenced by resize_graphical_handler(), 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 202 of file xcb.c.
References 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().
void fake_configure_notify | ( | xcb_connection_t * | conn, |
Rect | r, | ||
xcb_window_t | window | ||
) |
Generates a configure_notify event and sends it to the given window Applications need this to think they’ve configured themselves correctly.
The truth is, however, that we will manage them.
Definition at line 171 of file xcb.c.
References Rect::height, scalloc(), Rect::width, Rect::x, and Rect::y.
Referenced by fake_absolute_configure_notify(), and handle_configure_request().
uint32_t get_colorpixel | ( | char * | hex | ) |
Returns the colorpixel to use for the given hex color (think of HTML).
The hex_color has to start with #, for example #FF00FF.
NOTE that get_colorpixel() does _NOT_ check the given color code for validity. This has to be done by the caller.
Definition at line 79 of file xcb.c.
Referenced by load_configuration(), and sig_draw_window().
int predict_text_width | ( | char * | text, |
int | length | ||
) |
Calculate the width of the given text (16-bit characters, UCS) with given real length (amount of glyphs) using the given font.
Definition at line 308 of file xcb.c.
References config, conn, ELOG, Config::font, Font::id, and width.
Referenced by handle_signal(), and load_configuration().
void send_take_focus | ( | xcb_window_t | window | ) |
TAILQ_HEAD | ( | cached_fonts_head | , |
Font | |||
) |
Definition at line 16 of file xcb.c.
References check_error(), conn, ELOG, exit_if_null, and Font::id.
void xcb_change_gc_single | ( | xcb_connection_t * | conn, |
xcb_gcontext_t | gc, | ||
uint32_t | mask, | ||
uint32_t | value | ||
) |
Changes a single value in the graphic context (so one doesn’t have to define an array of values)
Definition at line 139 of file xcb.c.
Referenced by handle_signal(), sig_draw_window(), x_draw_decoration(), xcb_draw_line(), and xcb_draw_rect().
void xcb_draw_line | ( | xcb_connection_t * | conn, |
xcb_drawable_t | drawable, | ||
xcb_gcontext_t | gc, | ||
uint32_t | colorpixel, | ||
uint32_t | x, | ||
uint32_t | y, | ||
uint32_t | to_x, | ||
uint32_t | to_y | ||
) |
Draws a line from x,y to to_x,to_y using the given color.
Definition at line 147 of file xcb.c.
References x, and xcb_change_gc_single().
void xcb_draw_rect | ( | xcb_connection_t * | conn, |
xcb_drawable_t | drawable, | ||
xcb_gcontext_t | gc, | ||
uint32_t | colorpixel, | ||
uint32_t | x, | ||
uint32_t | y, | ||
uint32_t | width, | ||
uint32_t | height | ||
) |
Draws a rectangle from x,y with width,height using the given color.
Definition at line 158 of file xcb.c.
References con_state::rect, width, x, xcb_change_gc_single(), and y.
void xcb_get_numlock_mask | ( | xcb_connection_t * | conn | ) |
Finds out which modifier mask is the one for numlock, as the user may change this.
Definition at line 244 of file xcb.c.
References keysyms, XCB_NUM_LOCK, and xcb_numlock_mask.
Referenced by handle_mapping_notify(), main(), and xkb_got_event().
void xcb_raise_window | ( | xcb_connection_t * | conn, |
xcb_window_t | window | ||
) |
bool xcb_reply_contains_atom | ( | xcb_get_property_reply_t * | prop, |
xcb_atom_t | atom | ||
) |
Definition at line 349 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 333 of file xcb.c.
References add_ignore_event(), and Rect::x.
Referenced by restore_geometry(), and x_push_node().