about summary refs log tree commit diff stats
path: root/src/profanity.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/profanity.c')
-rw-r--r--src/profanity.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/src/profanity.c b/src/profanity.c
index 79d13c08..3c508dcd 100644
--- a/src/profanity.c
+++ b/src/profanity.c
@@ -38,7 +38,6 @@
 #endif
 
 #ifdef HAVE_GTK
-#include <gtk/gtk.h>
 #include "tray.h"
 #endif
 #include <locale.h>
@@ -96,9 +95,6 @@ char *saved_status;
 
 static gboolean cont = TRUE;
 static gboolean force_quit = FALSE;
-#ifdef HAVE_GTK
-static gboolean gtk_ready = FALSE;
-#endif
 
 void
 prof_run(char *log_level, char *account_name)
@@ -138,9 +134,7 @@ prof_run(char *log_level, char *account_name)
         iq_autoping_check();
         ui_update();
 #ifdef HAVE_GTK
-        if (gtk_ready) {
-            gtk_main_iteration_do(FALSE);
-        }
+        tray_update();
 #endif
     }
 }
@@ -365,16 +359,7 @@ _init(char *log_level)
     atexit(_shutdown);
     plugins_init();
 #ifdef HAVE_GTK
-    gtk_ready = gtk_init_check(0, NULL);
-    log_debug("Env is GTK-ready: %s", gtk_ready ? "true" : "false");
-    if (gtk_ready) {
-        gtk_init(0, NULL);
-        gtk_main_iteration_do(FALSE);
-        if (prefs_get_boolean(PREF_TRAY)) {
-            log_debug("Building GTK icon");
-            create_tray();
-        }
-    }
+    tray_init();
 #endif
     inp_nonblocking(TRUE);
 }
@@ -395,9 +380,7 @@ _shutdown(void)
         cl_ev_disconnect();
     }
 #ifdef HAVE_GTK
-    if (gtk_ready && prefs_get_boolean(PREF_TRAY)) {
-        destroy_tray();
-    }
+    tray_close();
 #endif
     jabber_shutdown();
     plugins_on_shutdown();