summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/commands.py4
-rw-r--r--src/core/core.py10
2 files changed, 10 insertions, 4 deletions
diff --git a/src/core/commands.py b/src/core/commands.py
index 5be95207..68a6eacf 100644
--- a/src/core/commands.py
+++ b/src/core/commands.py
@@ -173,10 +173,6 @@ def command_theme(self, arg=''):
args = arg.split()
if args:
self.command_set('theme %s' % (args[0],))
- warning = theming.reload_theme()
- if warning:
- self.information(warning, 'Warning')
- self.refresh_window()
def command_win(self, arg):
"""
diff --git a/src/core/core.py b/src/core/core.py
index 4b9a2e22..c3090bf6 100644
--- a/src/core/core.py
+++ b/src/core/core.py
@@ -250,6 +250,7 @@ class Core(object):
self.add_configuration_handler("connection_timeout_delay", self.xmpp.set_keepalive_values)
self.add_configuration_handler("connection_check_interval", self.xmpp.set_keepalive_values)
self.add_configuration_handler("themes_dir", theming.update_themes_dir)
+ self.add_configuration_handler("theme", self.on_theme_config_change)
self.add_configuration_handler("", self.on_any_config_change)
def on_any_config_change(self, option, value):
@@ -305,6 +306,15 @@ class Core(object):
path = os.path.expanduser(value)
self.plugin_manager.on_plugins_conf_dir_change(path)
+ def on_theme_config_change(self, option, value):
+ """
+ Called when the theme option is changed
+ """
+ error_msg = theming.reload_theme()
+ if error_msg:
+ self.information(error_msg, 'Warning')
+ self.refresh_window()
+
def sigusr_handler(self, num, stack):
"""
Handle SIGUSR1 (10)