aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fiv.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fiv.c b/fiv.c
index 6e67ad2..d5d2871 100644
--- a/fiv.c
+++ b/fiv.c
@@ -18,6 +18,9 @@
#include <glib.h>
#include <glib/gstdio.h>
#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_QUARTZ
+#include <gdk/gdkquartz.h>
+#endif // GDK_WINDOWING_QUARTZ
#include <errno.h>
#include <math.h>
@@ -2009,6 +2012,13 @@ main(int argc, char *argv[])
unit = MAX(200, unit);
gtk_window_set_default_size(GTK_WINDOW(g.window), 4 * unit, 3 * unit);
+#ifdef GDK_WINDOWING_QUARTZ
+ // Otherwise the window simply opens at (0, 0),
+ // while other macOS applications are more likely to start centered.
+ if (GDK_IS_QUARTZ_DISPLAY(display))
+ gtk_window_set_position(GTK_WINDOW(g.window), GTK_WIN_POS_CENTER);
+#endif // GDK_WINDOWING_QUARTZ
+
// XXX: The widget wants to read the display's profile. The realize is ugly.
gtk_widget_realize(g.view);