I'm trying to implement drag'n'drop using GTK-Server with CLisp. I have not much experience with GTK so feel free to point any mistakes, or any interesting document I may have missed. From what I've read, having callbacks for different signals is pretty much required for drag'n'drop. Also, you need to add callbacks to specific widgets, not just to every widget of some type (I think that GTK-server adds one callback at the widget's creation, depending on the GTK function called, am I right?). Now I can't see how to do this with GTK-server. I was happy with the default .cfg file until now; I looked into that but it seems that the documentation does not mention that it is possible to either 1) name several signals when describing an API function, 2) create a GCallback to pass to g_signal_connect (I'm not sure how that would be possible across languages anyway) or 3) call some special function of GTK-Server to add a callback to an existing widget. However, looking at the sources of GTK-Server, I see this entry in the change log: * - BUILD 1: . Major changes in callback functionality by ideas of mr. Joe Armstrong; hence new releasenumber * . Ability to add extra signals per widget, each with own identifier ...which makes me wonder. I browsed the docs throughly but did not find much info about callbacks... Can anybody enlighten me?