Add compatibility with themes that do not specify pretext colors

This commit is contained in:
speedie 2023-07-25 21:04:08 +02:00
parent d3983d46d9
commit 0bc35d1915
2 changed files with 30 additions and 8 deletions

View file

@ -420,8 +420,12 @@ void conf_init(void) {
config_setting_lookup_int(conf, "inputfg", &alpha_inputfg); // spmenu.alpha.inputfg config_setting_lookup_int(conf, "inputfg", &alpha_inputfg); // spmenu.alpha.inputfg
config_setting_lookup_int(conf, "inputbg", &alpha_inputbg); // spmenu.alpha.inputbg config_setting_lookup_int(conf, "inputbg", &alpha_inputbg); // spmenu.alpha.inputbg
config_setting_lookup_int(conf, "pretextfg", &alpha_pretextfg); // spmenu.alpha.pretextfg
config_setting_lookup_int(conf, "pretextbg", &alpha_pretextbg); // spmenu.alpha.pretextbg if (!config_setting_lookup_int(conf, "pretextfg", &alpha_pretextfg))
config_setting_lookup_int(conf, "inputfg", &alpha_pretextfg); // spmenu.alpha.pretextfg
if (!config_setting_lookup_int(conf, "pretextbg", &alpha_pretextbg))
config_setting_lookup_int(conf, "inputbg", &alpha_pretextbg); // spmenu.alpha.pretextbg
config_setting_lookup_int(conf, "menu", &alpha_menu); // spmenu.alpha.menu config_setting_lookup_int(conf, "menu", &alpha_menu); // spmenu.alpha.menu
@ -513,6 +517,17 @@ void conf_init(void) {
if (config_setting_lookup_string(conf, "inputbg", &dest)) if (config_setting_lookup_string(conf, "inputbg", &dest))
sp_strncpy(col_inputbg, strdup(dest), sizeof(col_inputbg)); sp_strncpy(col_inputbg, strdup(dest), sizeof(col_inputbg));
// pretext
if (config_setting_lookup_string(conf, "pretextfg", &dest))
sp_strncpy(col_pretextfg, strdup(dest), sizeof(col_pretextfg));
else if (config_setting_lookup_string(conf, "inputfg", &dest))
sp_strncpy(col_pretextfg, strdup(dest), sizeof(col_pretextfg));
if (config_setting_lookup_string(conf, "pretextbg", &dest))
sp_strncpy(col_pretextbg, strdup(dest), sizeof(col_pretextbg));
else if (config_setting_lookup_string(conf, "inputfg", &dest))
sp_strncpy(col_pretextbg, strdup(dest), sizeof(col_pretextbg));
// menu // menu
if (config_setting_lookup_string(conf, "menu", &dest)) if (config_setting_lookup_string(conf, "menu", &dest))
sp_strncpy(col_menu, strdup(dest), sizeof(col_menu)); sp_strncpy(col_menu, strdup(dest), sizeof(col_menu));

View file

@ -81,9 +81,9 @@ void theme_load(void) {
config_setting_t *conf = config_setting_get_elem(caret_setting, i); config_setting_t *conf = config_setting_get_elem(caret_setting, i);
// look up // look up
config_setting_lookup_int(conf, "width", &caretwidth); // spmenu.caret.width config_setting_lookup_int(conf, "width", &caretwidth); // theme.caret.width
config_setting_lookup_int(conf, "height", &caretheight); // spmenu.caret.height config_setting_lookup_int(conf, "height", &caretheight); // theme.caret.height
config_setting_lookup_int(conf, "padding", &caretpadding); // spmenu.caret.padding config_setting_lookup_int(conf, "padding", &caretpadding); // theme.caret.padding
} }
} }
@ -194,8 +194,11 @@ void theme_load(void) {
config_setting_lookup_int(conf, "inputfg", &alpha_inputfg); // theme.alpha.inputfg config_setting_lookup_int(conf, "inputfg", &alpha_inputfg); // theme.alpha.inputfg
config_setting_lookup_int(conf, "inputbg", &alpha_inputbg); // theme.alpha.inputbg config_setting_lookup_int(conf, "inputbg", &alpha_inputbg); // theme.alpha.inputbg
config_setting_lookup_int(conf, "pretextfg", &alpha_pretextfg); // theme.alpha.pretextfg if (!config_setting_lookup_int(conf, "pretextfg", &alpha_pretextfg))
config_setting_lookup_int(conf, "pretextbg", &alpha_pretextbg); // theme.alpha.pretextbg config_setting_lookup_int(conf, "inputfg", &alpha_pretextfg); // theme.alpha.pretextfg
if (!config_setting_lookup_int(conf, "pretextbg", &alpha_pretextbg))
config_setting_lookup_int(conf, "inputbg", &alpha_pretextbg); // theme.alpha.pretextbg
config_setting_lookup_int(conf, "menu", &alpha_menu); // theme.alpha.menu config_setting_lookup_int(conf, "menu", &alpha_menu); // theme.alpha.menu
@ -290,9 +293,13 @@ void theme_load(void) {
// pretext // pretext
if (config_setting_lookup_string(conf, "pretextfg", &dest)) if (config_setting_lookup_string(conf, "pretextfg", &dest))
sp_strncpy(col_pretextfg, strdup(dest), sizeof(col_pretextfg)); sp_strncpy(col_pretextfg, strdup(dest), sizeof(col_pretextfg));
else if (config_setting_lookup_string(conf, "inputfg", &dest))
sp_strncpy(col_pretextfg, strdup(dest), sizeof(col_pretextfg));
if (config_setting_lookup_string(conf, "pretextbg", &dest)) if (config_setting_lookup_string(conf, "pretextbg", &dest))
sp_strncpy(col_pretextbg, strdup(dest), sizeof(col_pretextbg)); sp_strncpy(col_pretextbg, strdup(dest), sizeof(col_pretextbg));
else if (config_setting_lookup_string(conf, "inputbg", &dest))
sp_strncpy(col_pretextbg, strdup(dest), sizeof(col_pretextbg));
// menu // menu
if (config_setting_lookup_string(conf, "menu", &dest)) if (config_setting_lookup_string(conf, "menu", &dest))
@ -493,7 +500,7 @@ void theme_load(void) {
config_setting_t *conf = config_setting_get_elem(file_setting, i); config_setting_t *conf = config_setting_get_elem(file_setting, i);
// look up // look up
config_setting_lookup_int(conf, "global", &globalcolors); // spmenu.file.global config_setting_lookup_int(conf, "global", &globalcolors); // theme.file.global
} }
} }