Main index | Section 3 | Options |
#include <panel.h>PANEL *new_panel(WINDOW *win);
int bottom_panel(PANEL *pan); int top_panel(PANEL *pan); int show_panel(PANEL *pan); void update_panels(void); int hide_panel(PANEL *pan);
WINDOW *panel_window(const PANEL *pan); int replace_panel(PANEL *pan, WINDOW *window); int move_panel(PANEL *pan, int starty, int startx); int panel_hidden(const PANEL *pan);
PANEL *panel_above(const PANEL *pan); PANEL *panel_below(const PANEL *pan);
int set_panel_userptr(PANEL *pan, const void *ptr); const void *panel_userptr(const PANEL *pan);
int del_panel(PANEL *pan);
/* ncurses extensions */ PANEL *ground_panel(SCREEN *sp); PANEL *ceiling_panel(SCREEN *sp);
A window is associated with each panel. The panel routines enable you to create, move, hide, and show panels. You can relocate a panel to any desired position in the stack.
Panel routines are a functional layer added to curses, make only high-level curses calls, and work anywhere curses does.
update_panels may be called more than once before a call to doupdate, but doupdate is the function responsible for updating the physical screen.
Except as noted, the pan and window parameters must be non-null. If either is null, an error is returned.
The move_panel function uses mvwin(3X), and returns an error if mvwin returns an error.
The functions show_panel and top_panel are identical in this implementation, and work equally well with displayed or hidden panels. In the System V implementation, show_panel is intended for making a hidden panel visible (at the top of the stack) and top_panel is intended for making an already-visible panel move to the top of the stack. You are cautioned to use the correct function to ensure compatibility with System V panel libraries.
It is not part of X/Open Curses.
A few implementations exist:
&#187; | Systems based on SVr4 source code, such as Solaris, provide this library. |
&#187; | ncurses (since version 0.6 in 1993) and PDCurses (since version 2.2 in 1995) provide a panel library whose common ancestor is a public domain implementation by Warren Tucker published in u386mon 2.20 (1990). |
According to Tucker, the System V panel library was first released in SVr3.2 (1988), and his implementation helped with a port to SVr3.1 (1987). | |
Several developers have improved each of these; they are no longer the same as Tucker's implementation. | |
&#187; | NetBSD 8 (2018) has a panel library begun by Valery Ushakov in 2015, based on the System V documentation. |
Zeyd ben-Halim repackaged it for ncurses.
Juergen Pfeifer and Thomas E. Dickey revised and improved the library.
2024-03-16 | panel (3X) | ncurses 6.5 |
Main index | Section 3 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.