From 9af7bd744f7a73e84928e9b98ef0feed1384d74e Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Sun, 21 Feb 2021 21:14:06 +0000 Subject: [PATCH] Reload buttons in SIGHUP Call xbm_load() from theme_init() --- include/theme/theme.h | 4 ++-- src/main.c | 3 +-- src/server.c | 5 +++-- src/theme/theme.c | 10 +++++++++- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/include/theme/theme.h b/include/theme/theme.h index 58890c05..86e59ee4 100644 --- a/include/theme/theme.h +++ b/include/theme/theme.h @@ -43,11 +43,11 @@ extern struct theme theme; void parse_hexstr(const char *hex, float *rgba); /** - * theme_read - read theme into global theme struct + * theme_init - read theme incl. buttons into global theme struct * @theme_name: theme-name in //openbox-3/themerc * Note is obtained in theme-dir.c */ -void theme_read(const char *theme_name); +void theme_init(struct wlr_renderer *renderer, const char *theme_name); /** * theme_builin - apply built-in theme similar to Clearlooks diff --git a/src/main.c b/src/main.c index 190fe016..f0661edc 100644 --- a/src/main.c +++ b/src/main.c @@ -76,8 +76,7 @@ main(int argc, char *argv[]) server_init(&server); server_start(&server); - theme_read(rc.theme_name); - xbm_load(server.renderer); + theme_init(server.renderer, rc.theme_name); struct menu rootmenu = { 0 }; menu_init_rootmenu(&server, &rootmenu); diff --git a/src/server.c b/src/server.c index df28f0db..bc046f13 100644 --- a/src/server.c +++ b/src/server.c @@ -11,6 +11,7 @@ #include "config/rcxml.h" #include "labwc.h" #include "layers.h" +#include "menu/menu.h" #include "theme/theme.h" static struct wlr_compositor *compositor; @@ -23,10 +24,10 @@ static struct server *g_server; static void reload_config_and_theme(void) { - rcxml_finish(); /* TODO: use rc.config_path */ + rcxml_finish(); rcxml_read(NULL); - theme_read(rc.theme_name); + theme_init(g_server->renderer, rc.theme_name); menu_reconfigure(g_server, g_server->rootmenu); damage_all_outputs(g_server); } diff --git a/src/theme/theme.c b/src/theme/theme.c index f72b1e2b..f6b50355 100644 --- a/src/theme/theme.c +++ b/src/theme/theme.c @@ -10,6 +10,7 @@ #include "common/log.h" #include "common/string-helpers.h" #include "theme/theme.h" +#include "xbm/xbm.h" static int hex_to_dec(char c) @@ -97,7 +98,7 @@ process_line(char *line) entry(key, value); } -void +static void theme_read(const char *theme_name) { FILE *stream = NULL; @@ -126,3 +127,10 @@ theme_read(const char *theme_name) free(line); fclose(stream); } + +void +theme_init(struct wlr_renderer *renderer, const char *theme_name) +{ + theme_read(theme_name); + xbm_load(renderer); +}