Skip to content

Instantly share code, notes, and snippets.

@farhaven
Created August 8, 2010 17:23
Show Gist options
  • Save farhaven/514300 to your computer and use it in GitHub Desktop.
Save farhaven/514300 to your computer and use it in GitHub Desktop.
#ifndef __XCB_ATOM_H__
#define __XCB_ATOM_H__
#include <xcb/xcb.h>
#ifdef __cplusplus
extern "C" {
#endif
enum xcb_atom_fast_tag_t {
TAG_COOKIE,
TAG_VALUE
};
typedef struct {
enum xcb_atom_fast_tag_t tag;
union {
xcb_intern_atom_cookie_t cookie;
xcb_atom_t atom;
} u;
} xcb_atom_fast_cookie_t;
/**
* @brief Get an atom synchronously.
* @param connection The connection to the X server.
* @param atom_name The name of the atom that should be returned.
* @return The requested atom, or XCB_NONE if there is an error.
*
* xcb_atom_get() is essentially a synchronous version of xcb_intern_atom(),
* use it only on non-performance critical execution paths.
*/
xcb_atom_t xcb_atom_get(xcb_connection_t *connection, const char *atom_name);
xcb_atom_t xcb_atom_get_predefined(uint16_t name_len, const char *name);
xcb_atom_fast_cookie_t xcb_atom_get_fast(xcb_connection_t *c, uint8_t only_if_exists, uint16_t name_len, const char *name);
xcb_atom_t xcb_atom_get_fast_reply(xcb_connection_t *c, xcb_atom_fast_cookie_t cookie, xcb_generic_error_t **e);
const char *xcb_atom_get_name_predefined(xcb_atom_t atom);
int xcb_atom_get_name(xcb_connection_t *c, xcb_atom_t atom, const char **namep, int *lengthp);
char *xcb_atom_name_by_screen(const char *base, uint8_t screen);
char *xcb_atom_name_by_resource(const char *base, uint32_t resource);
char *xcb_atom_name_unique(const char *base, uint32_t id);
#ifndef X_DEPRECATED
#ifdef __GNUC__
#define X_DEPRECATED __attribute__((deprecated))
#else
#define X_DEPRECATED
#endif
#endif
/* These constants are deprecated in favour of XCB_ATOM_*
from xproto.h */
extern const xcb_atom_t PRIMARY X_DEPRECATED;
extern const xcb_atom_t SECONDARY X_DEPRECATED;
extern const xcb_atom_t ARC X_DEPRECATED;
extern const xcb_atom_t ATOM X_DEPRECATED;
extern const xcb_atom_t BITMAP X_DEPRECATED;
extern const xcb_atom_t CARDINAL X_DEPRECATED;
extern const xcb_atom_t COLORMAP X_DEPRECATED;
extern const xcb_atom_t CURSOR X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER0 X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER1 X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER2 X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER3 X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER4 X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER5 X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER6 X_DEPRECATED;
extern const xcb_atom_t CUT_BUFFER7 X_DEPRECATED;
extern const xcb_atom_t DRAWABLE X_DEPRECATED;
extern const xcb_atom_t FONT X_DEPRECATED;
extern const xcb_atom_t INTEGER X_DEPRECATED;
extern const xcb_atom_t PIXMAP X_DEPRECATED;
extern const xcb_atom_t POINT X_DEPRECATED;
extern const xcb_atom_t RECTANGLE X_DEPRECATED;
extern const xcb_atom_t RESOURCE_MANAGER X_DEPRECATED;
extern const xcb_atom_t RGB_COLOR_MAP X_DEPRECATED;
extern const xcb_atom_t RGB_BEST_MAP X_DEPRECATED;
extern const xcb_atom_t RGB_BLUE_MAP X_DEPRECATED;
extern const xcb_atom_t RGB_DEFAULT_MAP X_DEPRECATED;
extern const xcb_atom_t RGB_GRAY_MAP X_DEPRECATED;
extern const xcb_atom_t RGB_GREEN_MAP X_DEPRECATED;
extern const xcb_atom_t RGB_RED_MAP X_DEPRECATED;
extern const xcb_atom_t STRING X_DEPRECATED;
extern const xcb_atom_t VISUALID X_DEPRECATED;
extern const xcb_atom_t WINDOW X_DEPRECATED;
extern const xcb_atom_t WM_COMMAND X_DEPRECATED;
extern const xcb_atom_t WM_HINTS X_DEPRECATED;
extern const xcb_atom_t WM_CLIENT_MACHINE X_DEPRECATED;
extern const xcb_atom_t WM_ICON_NAME X_DEPRECATED;
extern const xcb_atom_t WM_ICON_SIZE X_DEPRECATED;
extern const xcb_atom_t WM_NAME X_DEPRECATED;
extern const xcb_atom_t WM_NORMAL_HINTS X_DEPRECATED;
extern const xcb_atom_t WM_SIZE_HINTS X_DEPRECATED;
extern const xcb_atom_t WM_ZOOM_HINTS X_DEPRECATED;
extern const xcb_atom_t MIN_SPACE X_DEPRECATED;
extern const xcb_atom_t NORM_SPACE X_DEPRECATED;
extern const xcb_atom_t MAX_SPACE X_DEPRECATED;
extern const xcb_atom_t END_SPACE X_DEPRECATED;
extern const xcb_atom_t SUPERSCRIPT_X X_DEPRECATED;
extern const xcb_atom_t SUPERSCRIPT_Y X_DEPRECATED;
extern const xcb_atom_t SUBSCRIPT_X X_DEPRECATED;
extern const xcb_atom_t SUBSCRIPT_Y X_DEPRECATED;
extern const xcb_atom_t UNDERLINE_POSITION X_DEPRECATED;
extern const xcb_atom_t UNDERLINE_THICKNESS X_DEPRECATED;
extern const xcb_atom_t STRIKEOUT_ASCENT X_DEPRECATED;
extern const xcb_atom_t STRIKEOUT_DESCENT X_DEPRECATED;
extern const xcb_atom_t ITALIC_ANGLE X_DEPRECATED;
extern const xcb_atom_t X_HEIGHT X_DEPRECATED;
extern const xcb_atom_t QUAD_WIDTH X_DEPRECATED;
extern const xcb_atom_t WEIGHT X_DEPRECATED;
extern const xcb_atom_t POINT_SIZE X_DEPRECATED;
extern const xcb_atom_t RESOLUTION X_DEPRECATED;
extern const xcb_atom_t COPYRIGHT X_DEPRECATED;
extern const xcb_atom_t NOTICE X_DEPRECATED;
extern const xcb_atom_t FONT_NAME X_DEPRECATED;
extern const xcb_atom_t FAMILY_NAME X_DEPRECATED;
extern const xcb_atom_t FULL_NAME X_DEPRECATED;
extern const xcb_atom_t CAP_HEIGHT X_DEPRECATED;
extern const xcb_atom_t WM_CLASS X_DEPRECATED;
extern const xcb_atom_t WM_TRANSIENT_FOR X_DEPRECATED;
#ifdef __cplusplus
}
#endif
#endif /* __XCB_ATOM_H__ */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment