I'm willing to help implementing the notify signal feature, however I'm quite unfamiliar with glib's internal machinery and with the FFI, so I would require your help on some points.

First, dcoutts told me that not all Attribute-s, as they are implemented in glib's Haskell binding, can produce a "notify::" signal ; in case they can, let's say I refer to them as "notifiable". Could someone please tell me how I could recognize which Attribute-s aren't "notifiable" ?


Next step would be to implement something like :

notify :: ReadWriteAttr o a b -> Signal o c

notify Attr attributeName getter setter = -- a Signal named "notify::" ++ attributeName 


I can't get where to store the Signal name since it's not a component of the Signal type. Even the connectGeneric function is fed with a distinct argument (SignalName) apparently independent from the Signal itself ; could you tell me where it comes from ?


Thank you in advance for your kind answers.