fix: single instance - present existing window instead of creating new
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user