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 changes. This means the display is is more responsive and and uses less bandwidth.
We have a Github repo with an API witten 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 project here.