I decided to dig around and try to revive macopix for MacOS 13 Ventura.

Most of my problems stemmed from which monitor was primary causing behavior issues within macopix, however, I did find some functions that were unlinked and improved window draw to always be on the foreground.

I updated macos_getwin.c

diff --git a/src/macos_getwin.c b/src/macos_getwin.c
index 66fbb14..c59fa03 100644
--- a/src/macos_getwin.c
+++ b/src/macos_getwin.c
@@ -7,6 +7,8 @@

 #ifdef USE_OSX
 #include <gdk/gdkquartz.h>
+#include <gdk/quartz/gdkquartzwindow.h>
+#include <gdk/quartz/gdkquartz-cocoa-access.h>

 #include <Carbon/Carbon.h>
 #import <objc/Object.h>
@@ -21,7 +23,7 @@ void MacMapWin(GtkWidget *w, gboolean f){
   NSWindow* nswin = gdk_quartz_window_get_nswindow(gtk_widget_get_window(w));

   if(f){
-    [nswin orderFront:nswin];
+    [nswin orderFrontRegardless:nswin];
   }
   else{
     [nswin orderOut:nswin];

Leave a Reply

Your email address will not be published. Required fields are marked *