X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=settings.c;h=3fc492c04d959f35b843c4e3889ac4c26b8ddbcc;hb=2a3362fc4b503bc8d5fabcc3f696afce549158dc;hp=e6d673aa5d2964811dab7e62bc42e42a7f5ded67;hpb=a7ac45b0fdc90d2c40ae304c56e40ab3f3329232;p=bspwm.git diff --git a/settings.c b/settings.c index e6d673a..3fc492c 100644 --- a/settings.c +++ b/settings.c @@ -1,27 +1,70 @@ -#include -#include -#include -#include "utils.h" +#include +#include +#include +#include +#include +#include +#include "bspwm.h" +#include "helpers.h" +#include "common.h" #include "settings.h" -#include "luautils.h" + +void run_autostart(void) +{ + char path[MAXLEN]; + + snprintf(path, sizeof(path), "%s/%s/%s", getenv("XDG_CONFIG_HOME"), WM_NAME, AUTOSTART_FILE); + + if (fork() != 0) + return; + + if (dpy != NULL) + close(xcb_get_file_descriptor(dpy)); + + setsid(); + execl(path, path, NULL); + + PUTS("error: could not load autostart file"); + exit(EXIT_SUCCESS); +} void load_settings(void) { - lua_State *L = lua_open(); - luaopen_base(L); - - if (luaL_loadfile(L, CONFIG_FILE) == 0) { - if (lua_pcall(L, 0, 0, 0) == 0) { - normal_border_color = lua_stringexpr(L, "set.normal_border_color", NORMAL_BORDER_COLOR); - border_width = lua_intexpr(L, "set.border_width", BORDER_WIDTH); - split_ratio = lua_doubleexpr(L, "set.split_ratio", SPLIT_RATIO); - smart_surroundings = lua_boolexpr(L, "set.smart_surroundings", SMART_SURROUNDINGS); - } else { - die("error: cannot interpret configuration file\n"); - } - } else { - die("error: could not load configuration file\n"); - } - - lua_close(L); + strncpy(normal_border_color, NORMAL_BORDER_COLOR, sizeof(normal_border_color)); + strncpy(focused_border_color, FOCUSED_BORDER_COLOR, sizeof(focused_border_color)); + strncpy(active_border_color, ACTIVE_BORDER_COLOR, sizeof(active_border_color)); + strncpy(inner_border_color, INNER_BORDER_COLOR, sizeof(inner_border_color)); + strncpy(outer_border_color, OUTER_BORDER_COLOR, sizeof(outer_border_color)); + strncpy(presel_border_color, PRESEL_BORDER_COLOR, sizeof(presel_border_color)); + strncpy(focused_locked_border_color, FOCUSED_LOCKED_BORDER_COLOR, sizeof(focused_locked_border_color)); + strncpy(active_locked_border_color, ACTIVE_LOCKED_BORDER_COLOR, sizeof(active_locked_border_color)); + strncpy(normal_locked_border_color, NORMAL_LOCKED_BORDER_COLOR, sizeof(normal_locked_border_color)); + strncpy(urgent_border_color, URGENT_BORDER_COLOR, sizeof(urgent_border_color)); + + normal_border_color_pxl = get_color(normal_border_color); + focused_border_color_pxl = get_color(active_border_color); + active_border_color_pxl = get_color(active_border_color); + inner_border_color_pxl = get_color(inner_border_color); + outer_border_color_pxl = get_color(outer_border_color); + presel_border_color_pxl = get_color(presel_border_color); + focused_locked_border_color_pxl = get_color(active_locked_border_color); + active_locked_border_color_pxl = get_color(active_locked_border_color); + normal_locked_border_color_pxl = get_color(normal_locked_border_color); + urgent_border_color_pxl = get_color(urgent_border_color); + + strncpy(wm_name, WM_NAME, sizeof(wm_name)); + + inner_border_width = INNER_BORDER_WIDTH; + main_border_width = MAIN_BORDER_WIDTH; + outer_border_width = OUTER_BORDER_WIDTH; + + border_width = inner_border_width + main_border_width + outer_border_width; + + window_gap = WINDOW_GAP; + left_padding = LEFT_PADDING; + right_padding = RIGHT_PADDING; + top_padding = TOP_PADDING; + bottom_padding = BOTTOM_PADDING; + + borderless_monocle = BORDERLESS_MONOCLE; }