We are transitioning away from direct support of displays in FluidNC. With FluidNC, everyone uses the same compiled version. This means every feature, whether you use it or not, is in the firmware. Displays can take up a lot of code space due the graphics and large amount of text. Trying to support many types is impossible.
The solution is to provide a very robust interface to external smart displays. Smart displays have a programmable processor, communicate via a UART and are very cheap and powerful these days. The interface uses the same protocol the gcode senders use over UART channels. This means they can do anything a traditional gcode sender can do. Channels also implements optional pushed status. This means you don't constantly poll FluidNC. It tells you nearly immediately when something has changed. This means the display is more responsive and uses less bandwidth.
We have a Github repo with an API written in C and C++. This does all of the work of communicating with and parsing the information from FluidNC.
There are also some simple example projects here.