i3/i3bar/include/common.h

61 lines
1.2 KiB
C
Raw Normal View History

2010-08-07 12:05:16 -04:00
/*
* vim:ts=4:sw=4:expandtab
2010-08-07 12:05:16 -04:00
*
* i3bar - an xcb-based status- and ws-bar for i3
* © 2010-2011 Axel Wagner and contributors (see also: LICENSE)
2010-08-07 12:05:16 -04:00
*
*/
2010-07-21 19:15:18 -04:00
#ifndef COMMON_H_
#define COMMON_H_
#include <stdbool.h>
#include <xcb/xcb.h>
#include <xcb/xproto.h>
#include "queue.h"
2010-08-03 21:34:18 -04:00
typedef struct rect_t rect;
2010-07-21 19:15:18 -04:00
2010-08-03 21:34:18 -04:00
struct ev_loop* main_loop;
char *statusline;
char *statusline_buffer;
2010-07-21 19:15:18 -04:00
struct rect_t {
2011-08-12 12:43:09 -04:00
int x;
int y;
int w;
int h;
2010-07-21 19:15:18 -04:00
};
/* This data structure represents one JSON dictionary, multiple of these make
* up one status line. */
struct status_block {
char *full_text;
char *color;
/* full_text, but converted to UCS-2. This variable is only temporarily
* used in refresh_statusline(). */
xcb_char2b_t *ucs2_full_text;
size_t glyph_count_full_text;
/* The amount of pixels necessary to render this block. This variable is
* only temporarily used in refresh_statusline(). */
uint32_t width;
TAILQ_ENTRY(status_block) blocks;
};
TAILQ_HEAD(statusline_head, status_block) statusline_head;
#include "child.h"
#include "ipc.h"
#include "outputs.h"
#include "util.h"
#include "workspaces.h"
#include "trayclients.h"
#include "xcb.h"
2010-11-04 07:27:10 -04:00
#include "config.h"
2011-10-21 14:30:46 -04:00
#include "libi3.h"
2010-07-21 19:15:18 -04:00
#endif