#include "queue.h"
#include "child.h"
-#include "config.h"
#include "ipc.h"
#include "outputs.h"
#include "util.h"
#include "workspaces.h"
#include "xcb.h"
#include "ucs2_to_utf8.h"
+#include "config.h"
#endif
#ifndef CONFIG_H_
-#define CONFIL_H_
+#define CONFIG_H_
+
+#include "common.h"
typedef struct config_t {
- int hide_on_modifier;
- int verbose;
+ int hide_on_modifier;
+ int verbose;
+ xcb_colors_t *colors;
} config_t;
config_t config;
#define XCB_H_
#include <stdint.h>
+//#include "outputs.h"
-struct colors_t {
+struct xcb_color_strings_t {
char *bar_fg;
char *bar_bg;
char *active_ws_fg;
char *urgent_ws_fg;
};
-struct parsed_colors_t {
- uint32_t bar_fg;
- uint32_t bar_bg;
- uint32_t active_ws_fg;
- uint32_t active_ws_bg;
- uint32_t inactive_ws_fg;
- uint32_t inactive_ws_bg;
- uint32_t urgent_ws_bg;
- uint32_t urgent_ws_fg;
-};
+typedef struct xcb_colors_t xcb_colors_t;
/*
* Initialize xcb and use the specified fontname for text-rendering
* Initialize the colors
*
*/
-void init_colors(const struct colors_t *colors);
+void init_colors(const struct xcb_color_strings_t *colors);
/*
* Cleanup the xcb-stuff.
return result;
}
-static void read_color(char **color)
-{
+static void read_color(char **color) {
int len = strlen(optarg);
if (len == 6 || (len == 7 && optarg[0] == '#')) {
int offset = len - 6;
exit(EXIT_FAILURE);
}
-static void free_colors(struct colors_t *colors)
-{
+static void free_colors(struct xcb_color_strings_t *colors) {
#define FREE_COLOR(x) \
do { \
if (colors->x) \
char *command = NULL;
char *fontname = NULL;
char *i3_default_sock_path = "~/.i3/ipc.sock";
- struct colors_t colors = {0,};
+ struct xcb_color_strings_t colors = { NULL, };
/* Definition of the standard-config */
config.hide_on_modifier = 0;
ev_io *xkb_io;
/* The parsed colors */
-struct parsed_colors_t colors;
+struct xcb_colors_t {
+ uint32_t bar_fg;
+ uint32_t bar_bg;
+ uint32_t active_ws_fg;
+ uint32_t active_ws_bg;
+ uint32_t inactive_ws_fg;
+ uint32_t inactive_ws_bg;
+ uint32_t urgent_ws_bg;
+ uint32_t urgent_ws_fg;
+};
+struct xcb_colors_t colors;
/* 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__)
* Parse the colors into a format that we can use
*
*/
-void init_colors(const struct colors_t *new_colors) {
+void init_colors(const struct xcb_color_strings_t *new_colors) {
#define PARSE_COLOR(name, def) \
do { \
colors.name = get_colorpixel(new_colors->name ? new_colors->name : def); \