libncurses provides low-level APIs. So if I want to write complex program with libncurses, I think I should first write some advanced wrapping functions to build a "UI framework"(just like gtk or something else). But I have no idea how to build my own framework. Can anyone give me some idea? Or is there any simple open-source project that can help me?