Sorry, can not remember what your true goal or intentions is or was. Seems your last post was one months ago...
Generally I do regard communication by JPG screenshots a bit strange. But OK, for your first JPG the problem seems to be very obvious: You call a Nim proc which expect as last parameter a var of type GError. But you pass nil. That does not work. Generally you should pass a var of type GError, which is filled with error description when something went wrong. You can pass a dummy gerror variable, when you are not interested in error message, or when you are sure that proc call never fails. Unfortunately, when an error occurs, one should free the error var manually. I know that this is not the optimal solution. We may create for all the procs which expect a gerror var a variant without it. (Or we could pass an address as in C, that would accept nil, but is ugly) But there is much more what we may improve for the GTK3 bindings. Maybe we could create bindings which use gobject introspection and support full GC memory management. But I can not estimate the effort, considering the Python and Ruby GTK bindings I guess effort may be more than 1000 hours, and more importantly, that would need very much testing. So when we have a few hundred Nim-GTK users, then we should have enough testers, and someone may consider all that. :) When you need an example for gerror handling, you can looks into NEd editor code. (There I use dummy gerror variables most of the time, but I think at least in one proc I use it proper and free it when an error occurred.) [https://github.com/ngtk3/NEd](https://github.com/ngtk3/NEd)
