Given the literally hundreds of varieties of terminals, screens, and terminal emulation programs
available, and the different features they possess (not to mention the different commands to use
these features and capabilities), UNIX programmers quickly developed a way to abstract screen
manipulation. Rather than write a lot of extra code to take into account the different terminal
types, ncurses provides a uniform and generalized interface for the programmer. The ncurses API
insulates the programmer from the underlying hardware and the differences between terminals.
766
Programming in Linux Part VI
ncurses gives to character-based applications many of the same features found in graphical X
Window applications??”multiple windows, forms, menus, and panels. ncurses windows can be
managed independently, may contain the same or different text, can scroll or not scroll, and be visible
or hidden. Forms enable the programmer to create easy-to-use data entry and display windows, simplifying
what is usually a difficult and application-specific coding task. Panels extend ncurses??™ capability
to deal with overlapping and stacked windows. Menus provide, well, menus, again with a simpler,
generalized programming interface. The ncurses library even provides support for mouse input.
Pages:
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396