I’ve updated Gargoyle’s Glk/ANSI port of TADS to include support for the banner API.
The banner API is almost Glk friendly: window splits and space allocation between parent and child windows work in exactly the same way. The catch is that TADS allows subsequently declared banners to usurp space from siblings (by declaring themselves ‘first’ or ‘before’) which is a very un-Glk way of doing things.
Unfortunately this means that every time a window is added, we have to close all banners, resize and restyle them, and restore the contents. The good news is that the collective banners rarely represent more than a screenful of text, so the inherent inefficiency isn’t as painful as it might otherwise be.
osglkban.c implements the required window and contents management code. There are a couple tweaks unique to Gargoyle but all core functionality is pure Glk and should work with any other library. Size to contents doesn’t work quite right, and besides the basic text styles, only reversed colors and a single custom color are supported. For the most part these are Glk limitations.
Gargoyle’s next release will include this feature, which means (among other things) that the TADS exit lister will actually work now. My hope is that this is the first milestone on the road to full HTML TADS support.