summaryrefslogtreecommitdiff
path: root/src/abaddon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/abaddon.cpp')
-rw-r--r--src/abaddon.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/abaddon.cpp b/src/abaddon.cpp
index e234520..5b5b179 100644
--- a/src/abaddon.cpp
+++ b/src/abaddon.cpp
@@ -255,6 +255,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));
@@ -627,6 +629,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;