2 * i3bar - an xcb-based status- and ws-bar for i3
4 * © 2010 Axel Wagner and contributors
6 * See file LICNSE for license information
13 //#include "outputs.h"
15 struct xcb_color_strings_t {
26 typedef struct xcb_colors_t xcb_colors_t;
29 * Initialize xcb and use the specified fontname for text-rendering
35 * Initialize the colors
38 void init_colors(const struct xcb_color_strings_t *colors);
41 * Cleanup the xcb-stuff.
42 * Called once, before the program terminates.
48 * Get the earlier requested atoms and save them in the prepared data-structure
54 * Destroy the bar of the specified output
57 void destroy_window(i3_output *output);
60 * Reallocate the statusline-buffer
63 void realloc_sl_buffer();
66 * Reconfigure all bars and create new for newly activated outputs
69 void reconfig_windows();
72 * Render the bars, with buttons and statusline
78 * Redraw the bars, i.e. simply copy the buffer to the barwindow
84 * Predicts the length of text based on cached data.
85 * The string has to be encoded in ucs2 and glyph_len has to be the length
86 * of the string (in glyphs).
89 uint32_t predict_text_extents(xcb_char2b_t *text, uint32_t length);