libgringo is a library to writes applications that run both in console (using ncurses) and under X-Window (using gtk). libgringo detects if you are running from the console or under X-Window, and selects the right library to use without recompiling your code. gringosh and gringodlg are two parsers that use libgringo to provide similar functionality to the cdialog utility. It was written to make some configuration scripts work
both in console and under X Windows without any modification. gringosh and gringodlg also provide features more powerful than cdialog such as the ability to have more than two buttons per form and more than two windows on the screen.