Try and figure out how to change your approach and/or theirs so that they
can be made compatible.
For me integrating with the work of the others is quite evident.
I do not open now the manual of GTK/Xlib/Athena to exress myself in exact terms, but I use generic terms, that I believe all X-windows programmers understand.
To integrate my work with the others one does so:
1. keep from the work of the others the graphical representations (of the notebook widget).
2. Every element of a notebook widget represent a tab, that has a pointer to a data structure. I did not look over the code of the others, but I believe that in their code this data structure is a frame. Drop that structure , and replace it with the data structure <<tab>> that I explained in my previous messages. I prefer the message passing style, that cannot be implemented in emacs in this moment, apart from using macros, which are not a viable/smart solution.
3. In X windows, every widget generates events. When such an event X comes to a tab, execute the (tab :event-X), which is a lambda-expression.
4. Breef, from the work of the others , 1) keep the graphical representations of notebook widget. 2) drop the data structure that represents a tab and replace it with my data structure.
I do not know whether the others well see my solution, but I do not have any other way to see the problem of integration.