diff --git a/linux/my_application.cc b/linux/my_application.cc index 50977fad..a1157a9e 100644 --- a/linux/my_application.cc +++ b/linux/my_application.cc @@ -20,6 +20,14 @@ G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) static void my_application_activate(GApplication *application) { MyApplication *self = MY_APPLICATION(application); + + // Check if window already exists - if so, just present it + GList* windows = gtk_application_get_windows(GTK_APPLICATION(application)); + if (windows) { + gtk_window_present(GTK_WINDOW(windows->data)); + return; + } + GtkWindow *window = GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); gtk_window_set_icon_from_file(window, ICON_PATH, NULL);