summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fe-common/core/themes.c2
-rw-r--r--src/fe-text/statusbar-config.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/src/fe-common/core/themes.c b/src/fe-common/core/themes.c
index c80c9e2d..f1b871b2 100644
--- a/src/fe-common/core/themes.c
+++ b/src/fe-common/core/themes.c
@@ -1173,6 +1173,8 @@ static void change_theme(const char *name, int verbose)
rec = theme_load(name);
if (rec != NULL) {
current_theme = rec;
+ signal_emit("theme changed", 1, rec);
+
if (verbose) {
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE,
TXT_THEME_CHANGED,
diff --git a/src/fe-text/statusbar-config.c b/src/fe-text/statusbar-config.c
index e3ae8898..3b0084de 100644
--- a/src/fe-text/statusbar-config.c
+++ b/src/fe-text/statusbar-config.c
@@ -443,7 +443,8 @@ static void cmd_statusbar(const char *data)
void statusbar_config_init(void)
{
read_statusbar_config();
- signal_add("setup reread", (SIGNAL_FUNC) read_statusbar_config);
+ signal_add_last("setup reread", (SIGNAL_FUNC) read_statusbar_config);
+ signal_add("theme changed", (SIGNAL_FUNC) read_statusbar_config);
command_bind("statusbar", NULL, (SIGNAL_FUNC) cmd_statusbar);
command_bind("statusbar enable", NULL, (SIGNAL_FUNC) cmd_statusbar_enable);
@@ -461,6 +462,7 @@ void statusbar_config_init(void)
void statusbar_config_deinit(void)
{
signal_remove("setup reread", (SIGNAL_FUNC) read_statusbar_config);
+ signal_remove("theme changed", (SIGNAL_FUNC) read_statusbar_config);
command_unbind("statusbar", (SIGNAL_FUNC) cmd_statusbar);
command_unbind("statusbar enable", (SIGNAL_FUNC) cmd_statusbar_enable);