> such they are programmable, and give whatever default behaviour of
> tabs you wish, give the LIBERTY to those programmers who wish to
> define other kind of tabs for themselves, to be able to do so.
But this does not require all of the junk (events, callbacks, etc)
that you've talked about. All that *needs* to be added to Emacs is
the very limited API needed to associate tabs with a window or frame,
displayable content and a label with each tab, and to query that
information. The rest can be implemented with existing Emacs Lisp
facilities, such as faces (to change the color of a tab) and process
sentinels (one sort of event callback). If you want a GTK-like API,
that should be easy to write in Lisp.