Next: , Previous: Interfacing with the mouse, Up: Curses Tutorial   [Contents][Index]

4.13 Panels Library

Curses was originally build around the idea of having tiled text windows, where they did not overlap. The API is not set up to do the bookkeeping for overlapping windows.

Now that you are proficient in curses, you wanted to do some thing big. You created a lot of overlapping windows to give a professional windows-type look. Unfortunately, it soon becomes difficult to manage these. The multiple refreshes, updates plunge you into a nightmare. The overlapping windows create blotches, whenever you forget to refresh the windows in the proper order.

Don’t despair. There’s an elegant solution provided in panels library.

When your interface design is such that windows may dive deeper into the visibility stack or pop to the top at runtime, the resulting book-keeping can be tedious and difficult to get right. Hence the panels library.

If you have lot of overlapping windows, then panels library is the way to go. It obviates the need of doing series of noutrefresh, doupdate and relieves the burden of doing it correctly (bottom up). The library maintains information about the order of windows, their overlapping and update the screen properly. So why wait? Let’s take a close peek into panels.