X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=i3bar%2Finclude%2Fxcb.h;h=e5af39fa3a14ab3466cad64a6aa12cdd83b8e980;hb=9bf346c7a00f0783e3754d45dda331ff91ec9a64;hp=2740f330b964b91af4e9be334ebf494517371568;hpb=b0990c183ae1e25aaddb2af40eeb11eff1a208af;p=i3%2Fi3 diff --git a/i3bar/include/xcb.h b/i3bar/include/xcb.h index 2740f330..e5af39fa 100644 --- a/i3bar/include/xcb.h +++ b/i3bar/include/xcb.h @@ -2,7 +2,7 @@ * vim:ts=4:sw=4:expandtab * * i3bar - an xcb-based status- and ws-bar for i3 - * © 2010-2012 Axel Wagner and contributors (see also: LICENSE) + * © 2010 Axel Wagner and contributors (see also: LICENSE) * * xcb.c: Communicating with X * @@ -12,22 +12,25 @@ #include //#include "outputs.h" -#ifdef XCB_COMPAT -#define XCB_ATOM_CARDINAL CARDINAL -#endif - #define _NET_SYSTEM_TRAY_ORIENTATION_HORZ 0 #define _NET_SYSTEM_TRAY_ORIENTATION_VERT 1 -#define SYSTEM_TRAY_REQUEST_DOCK 0 -#define SYSTEM_TRAY_BEGIN_MESSAGE 1 -#define SYSTEM_TRAY_CANCEL_MESSAGE 2 -#define XEMBED_MAPPED (1 << 0) -#define XEMBED_EMBEDDED_NOTIFY 0 +#define SYSTEM_TRAY_REQUEST_DOCK 0 +#define SYSTEM_TRAY_BEGIN_MESSAGE 1 +#define SYSTEM_TRAY_CANCEL_MESSAGE 2 +#define XEMBED_MAPPED (1 << 0) +#define XEMBED_EMBEDDED_NOTIFY 0 + +/* We define xcb_request_failed as a macro to include the relevant line number */ +#define xcb_request_failed(cookie, err_msg) _xcb_request_failed(cookie, err_msg, __LINE__) +int _xcb_request_failed(xcb_void_cookie_t cookie, char *err_msg, int line); struct xcb_color_strings_t { char *bar_fg; char *bar_bg; char *sep_fg; + char *focus_bar_fg; + char *focus_bar_bg; + char *focus_sep_fg; char *active_ws_fg; char *active_ws_bg; char *active_ws_border; @@ -40,10 +43,16 @@ struct xcb_color_strings_t { char *urgent_ws_bg; char *urgent_ws_fg; char *urgent_ws_border; + char *binding_mode_bg; + char *binding_mode_fg; + char *binding_mode_border; }; typedef struct xcb_colors_t xcb_colors_t; +/* Cached width of the custom separator if one was set */ +int separator_symbol_width; + /* * Early initialization of the connection to X11: Everything which does not * depend on 'config'. @@ -65,14 +74,14 @@ void init_xcb_late(char *fontname); void init_colors(const struct xcb_color_strings_t *colors); /* - * Cleanup the xcb-stuff. + * Cleanup the xcb stuff. * Called once, before the program terminates. * */ void clean_xcb(void); /* - * Get the earlier requested atoms and save them in the prepared data-structure + * Get the earlier requested atoms and save them in the prepared data structure * */ void get_atoms(void); @@ -90,7 +99,7 @@ void kick_tray_clients(i3_output *output); /* * We need to set the _NET_SYSTEM_TRAY_COLORS atom on the tray selection window - * to make GTK+ 3 applets with Symbolic Icons visible. If the colors are unset, + * to make GTK+ 3 applets with symbolic icons visible. If the colors are unset, * they assume a light background. * See also https://bugzilla.gnome.org/show_bug.cgi?id=679591 * @@ -104,7 +113,7 @@ void init_tray_colors(void); void destroy_window(i3_output *output); /* - * Reallocate the statusline-buffer + * Reallocate the statusline buffer * */ void realloc_sl_buffer(void);