--- 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