refresh() will clear the screen. If an error occurs a message
is written to standard error and the program exits. Otherwise
it returns a pointer to stdscr. A few functions may be called
refresh() will clear the screen. If an error occurs a message
is written to standard error and the program exits. Otherwise
it returns a pointer to stdscr. A few functions may be called
- before initscr (slk_init(), filter(), ripofflines(), use_env(),
+ before initscr (slk_init(), filter(), ripoffline(), use_env(),
the terminal, as other routines merely manipulate data
structures. wrefresh() copies the named window to the physical
terminal screen, taking into account what is already there in
the terminal, as other routines merely manipulate data
structures. wrefresh() copies the named window to the physical
terminal screen, taking into account what is already there in
- order to do optimizations. refresh() does a refresh of
- stdscr(). Unless leaveok() has been enabled, the physical
- cursor of the terminal is left at the location of the window's
- cursor.
+ order to do optimizations. refresh() does a refresh of stdscr.
+ Unless leaveok() has been enabled, the physical cursor of the
+ terminal is left at the location of the window's cursor.
To understand why this is a problem, remember that screen updates are
calculated between two representations of the entire display. The
documentation says that when you refresh a window, it is first copied
To understand why this is a problem, remember that screen updates are
calculated between two representations of the entire display. The
documentation says that when you refresh a window, it is first copied
the physical screen (and applied to the terminal). But "copied to" is
not very specific, and subtle differences in how copying works can
produce different behaviors in the case where two overlapping windows
the physical screen (and applied to the terminal). But "copied to" is
not very specific, and subtle differences in how copying works can
produce different behaviors in the case where two overlapping windows
The really clean way to handle this is to use the panels library. If,
when you want a screen update, you do update_panels(), it will do all
The really clean way to handle this is to use the panels library. If,
when you want a screen update, you do update_panels(), it will do all
you have defined. Then you can do one doupdate() and there will be a
single burst of physical I/O that will do all your updates.
you have defined. Then you can do one doupdate() and there will be a
single burst of physical I/O that will do all your updates.
1. Initialize curses.
2. Create the menu items, using new_item().
3. Create the menu using new_menu().
1. Initialize curses.
2. Create the menu items, using new_item().
3. Create the menu using new_menu().
8. Free the menu, using free_menu().
9. Free the items using free_item().
10. Terminate curses.
8. Free the menu, using free_menu().
9. Free the items using free_item().
10. Terminate curses.
By default, both windows are stdscr. You can set them with the
functions in menu_win(3x).
By default, both windows are stdscr. You can set them with the
functions in menu_win(3x).
- When you call menu_post(), you write the menu to its subwindow. When
- you call menu_unpost(), you erase the subwindow, However, neither of
+ When you call post_menu(), you write the menu to its subwindow. When
+ you call unpost_menu(), you erase the subwindow, However, neither of
1. Initialize curses.
2. Create the form fields, using new_field().
3. Create the form using new_form().
1. Initialize curses.
2. Create the form fields, using new_field().
3. Create the form using new_form().
8. Free the form, using free_form().
9. Free the fields using free_field().
10. Terminate curses.
8. Free the form, using free_form().
9. Free the fields using free_field().
10. Terminate curses.
the screen (the third and fourth arguments, which must be zero or
greater). Note that these coordinates are relative to the form
subwindow, which will coincide with stdscr by default but need not be
the screen (the third and fourth arguments, which must be zero or
greater). Note that these coordinates are relative to the form
subwindow, which will coincide with stdscr by default but need not be
The fifth argument allows you to specify a number of off-screen rows.
If this is zero, the entire field will always be displayed. If it is
The fifth argument allows you to specify a number of off-screen rows.
If this is zero, the entire field will always be displayed. If it is
- Requests. The value of this option is ignored on dynamic
- fields that have not reached their size limit; these have no
- last line, so the circumstances for triggering a REQ_NEXT_FIELD
+ Requests. The value of this option is ignored on dynamic fields
+ that have not reached their size limit; these have no last
+ line, so the circumstances for triggering a REQ_NEXT_FIELD