fix: single instance - present existing window instead of creating new

This commit is contained in:
Umbrix Developer
2026-01-18 06:18:01 +03:00
parent ee39acbeec
commit abb6929e19

View File

@@ -20,6 +20,14 @@ G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION)
static void my_application_activate(GApplication *application) static void my_application_activate(GApplication *application)
{ {
MyApplication *self = MY_APPLICATION(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 = GtkWindow *window =
GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
gtk_window_set_icon_from_file(window, ICON_PATH, NULL); gtk_window_set_icon_from_file(window, ICON_PATH, NULL);