]> git.sur5r.net Git - i3/i3/blob - include/config.h
Bugfix: Use ->workspace instead of ->container
[i3/i3] / include / config.h
1 /*
2  * vim:ts=8:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  *
6  * © 2009 Michael Stapelberg and contributors
7  *
8  * See file LICENSE for license information.
9  *
10  * include/config.h: Contains all structs/variables for
11  * the configurable part of i3
12  *
13  */
14
15 #ifndef _CONFIG_H
16 #define _CONFIG_H
17
18 #include "queue.h"
19
20 typedef struct Config Config;
21 extern Config config;
22
23 struct Colortriple {
24         uint32_t border;
25         uint32_t background;
26         uint32_t text;
27 };
28
29 struct Variable {
30         char *key;
31         char *value;
32
33         SLIST_ENTRY(Variable) variables;
34 };
35
36 struct Config {
37         const char *terminal;
38         const char *font;
39
40         /** The modifier which needs to be pressed in combination with your mouse
41          * buttons to do things with floating windows (move, resize) */
42         uint32_t floating_modifier;
43
44         /* Color codes are stored here */
45         struct config_client {
46                 struct Colortriple focused;
47                 struct Colortriple focused_inactive;
48                 struct Colortriple unfocused;
49         } client;
50         struct config_bar {
51                 struct Colortriple focused;
52                 struct Colortriple unfocused;
53         } bar;
54 };
55
56 /**
57  * Reads the configuration from ~/.i3/config or /etc/i3/config if not found.
58  *
59  * If you specify override_configpath, only this path is used to look for a
60  * configuration file.
61  *
62  */
63 void load_configuration(xcb_connection_t *conn, const char *override_configfile);
64
65 #endif