diff options
Diffstat (limited to 'src/abaddon.cpp')
-rw-r--r-- | src/abaddon.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/abaddon.cpp b/src/abaddon.cpp index e30281f..5c6f136 100644 --- a/src/abaddon.cpp +++ b/src/abaddon.cpp @@ -286,6 +286,8 @@ int Abaddon::StartGTK() { m_main_window->GetChatWindow()->signal_action_reaction_remove().connect(sigc::mem_fun(*this, &Abaddon::ActionReactionRemove)); ActionReloadCSS(); + AttachCSSMonitor(); + if (m_settings.GetSettings().HideToTray) { m_tray = Gtk::StatusIcon::create("discord"); m_tray->signal_activate().connect(sigc::mem_fun(*this, &Abaddon::on_tray_click)); @@ -719,6 +721,15 @@ void Abaddon::LoadState() { } } +void Abaddon::AttachCSSMonitor() { + const auto path = GetCSSPath("/" + GetSettings().MainCSS); + const auto file = Gio::File::create_for_path(path); + m_main_css_monitor = file->monitor_file(); + m_main_css_monitor->signal_changed().connect([this](const auto &file, const auto &other_file, Gio::FileMonitorEvent event) { + ActionReloadCSS(); + }); +} + void Abaddon::ManageHeapWindow(Gtk::Window *window) { window->signal_hide().connect([this, window]() { delete window; |