Ich dachte mir heute, dass ich versuche etwas nicht komplett triviales mit ctypes zu wrappen und habe mich für LibUnique entschieden. Abgesehen davon dass je mehr ich davon sehe, desto schlechter finde ichs geht es eigentlich ganz gut vorran. Ich kann inzwischen feststellen ob bereits eine Instanz/Exemplar der Applikation läuft. Nun würde ich gerne aber noch einen Schritt weiter gehen und Nachrichten umherschicken können.
Dazu habe ich mir das Beispiel von der LibUnique-Seite genommen und es angepasst so dass es immhin irgendwie kompiliert (es funktioniert zwar nicht richtig, aber ausreichend gut, um es auszuprobieren.
Kompiliert wird es mit
Code: Alles auswählen
gcc $(pkg-config --cflags unique-1.0) $(pkg-config --libs unique-1.0) demo.c -o demo
Das funktioniert nun ausreichend gut. Mein zusammengehackter Python-Code tut auch relativ gut, bis eben auf die Callbacks.
Im C-Beispiel steht etwa folgendes:
Code: Alles auswählen
g_signal_connect (app, "message-received", G_CALLBACK (message_received_cb), NULL);
Schließlich ist es wohl auch so, dass die Messages nur zugestellt werden können, wenn ``gtk.gtk_main()`` aufgerufen wird. Dann Segfaultet es allerdings sofort, wenn eine Nachricht zugestellt werden soll.
Irgendwo ist da noch der Wurm drin und es würde mich freuen wenn mich jemand mir den ein oder anderen Tipp geben würde.
P.S.: Ja, das ist Python 3-Code. Irgendwer muss ja anfangen und da ctypes in der Stdlib ist, bot sich das an.