So I finally got to experiment with the tcp fxlist. Seems like it's actually surprisingly flexible. A lot can be done with the minimum and maximum column width (param 3&4 of tcp.fxparm.font). I managed to get the list to flexibly expand and make it only break up into rows with an even number of fx (see GIF).
Has anybody here managed to make the tcp_fxparam_bg behave? It's giving me a lot of trouble on small track heights.