ui/gtk/window.c

changeset 1069
512fad602f97
parent 1049
87a75acc6afc
--- a/ui/gtk/window.c	Mon Feb 02 20:59:13 2026 +0100
+++ b/ui/gtk/window.c	Sun Feb 08 15:19:40 2026 +0100
@@ -166,6 +166,25 @@
     obj->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 #endif
     
+#if GTK_MAJOR_VERSION < 4
+    const char *window_pos = ui_get_property("ui.gtk.window.position");
+    GtkWindowPosition wpos = GTK_WIN_POS_CENTER;
+    if(window_pos) {
+        if(!strcmp(window_pos, "none")) {
+            wpos = GTK_WIN_POS_NONE;
+        } else if(!strcmp(window_pos, "center")) {
+            //wpos = GTK_WIN_POS_CENTER;
+        } else if(!strcmp(window_pos, "mouse")) {
+            wpos = GTK_WIN_POS_MOUSE;
+        } else if(!strcmp(window_pos, "center_always")) {
+            wpos = GTK_WIN_POS_CENTER_ALWAYS;
+        } else {
+            fprintf(stderr, "Error: unknown value '%s' for property ui.gtk.window.positionhint", window_pos);
+        }
+    }
+    gtk_window_set_position(GTK_WINDOW(obj->widget), wpos);
+#endif
+    
 #if GTK_CHECK_VERSION(4, 0, 0)
     obj->ctx->action_map = G_ACTION_MAP(obj->widget);
 #endif

mercurial