9 #include <xcb/xcb_event.h>
18 void load_settings(void)
21 lua_State *L = lua_open();
23 /* luaL_openlibs(L); */
25 snprintf(path, sizeof(path), "%s/%s/%s", getenv("XDG_CONFIG_HOME"), WM_NAME, CONFIG_FILE);
27 if (luaL_loadfile(L, path) == 0) {
28 if (lua_pcall(L, 0, 0, 0) == 0)
31 PUTS("error: cannot interpret configuration file\n");
33 PUTS("error: could not load configuration file\n");
39 void run_autostart(void)
43 snprintf(path, sizeof(path), "%s/%s/%s", getenv("XDG_CONFIG_HOME"), WM_NAME, AUTOSTART_FILE);
49 close(xcb_get_file_descriptor(dpy));
52 execl(path, path, NULL);
54 PUTS("error: could not load autostart file\n");
58 void apply_settings(lua_State *L)
60 string_expr(L, normal_border_color, "normal_border_color", NORMAL_BORDER_COLOR);
61 string_expr(L, active_border_color, "active_border_color", ACTIVE_BORDER_COLOR);
62 string_expr(L, inner_border_color, "inner_border_color", INNER_BORDER_COLOR);
63 string_expr(L, outer_border_color, "outer_border_color", OUTER_BORDER_COLOR);
64 string_expr(L, presel_border_color, "presel_border_color", PRESEL_BORDER_COLOR);
65 string_expr(L, locked_border_color, "locked_border_color", LOCKED_BORDER_COLOR);
67 normal_border_color_pxl = get_color(normal_border_color);
68 active_border_color_pxl = get_color(active_border_color);
69 inner_border_color_pxl = get_color(inner_border_color);
70 outer_border_color_pxl = get_color(outer_border_color);
71 presel_border_color_pxl = get_color(presel_border_color);
72 locked_border_color_pxl = get_color(locked_border_color);
74 string_expr(L, wm_name, "wm_name", WM_NAME);
76 adaptive_window_border = bool_expr(L, "adaptive_window_border", ADAPTIVE_WINDOW_BORDER);
78 inner_border_width = int_expr(L, "inner_border_width", INNER_BORDER_WIDTH);
79 main_border_width = int_expr(L, "main_border_width", MAIN_BORDER_WIDTH);
80 outer_border_width = int_expr(L, "outer_border_width", OUTER_BORDER_WIDTH);
82 border_width = inner_border_width + main_border_width + outer_border_width;
84 window_gap = int_expr(L, "window_gap", WINDOW_GAP);
85 left_padding = int_expr(L, "left_padding", LEFT_PADDING);
86 right_padding = int_expr(L, "right_padding", RIGHT_PADDING);
87 top_padding = int_expr(L, "top_padding", TOP_PADDING);
88 bottom_padding = int_expr(L, "bottom_padding", BOTTOM_PADDING);