curs_border_set(3x) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | NOTES | PORTABILITY | HISTORY | SEE ALSO | COLOPHON

curs_border_set(3X)           Library calls           curs_border_set(3X)

NAME         top

       border_set, wborder_set, box_set, hline_set, whline_set,
       mvhline_set, mvwhline_set, vline_set, wvline_set, mvvline_set,
       mvwvline_set - draw borders and lines in a curses window of wide
       characters

SYNOPSIS         top

       #include <curses.h>

       int border_set(const cchar_t *ls, const cchar_t *rs,
             const cchar_t *ts, const cchar_t *bs,
             const cchar_t *tl, const cchar_t *tr,
             const cchar_t *bl, const cchar_t *br);
       int wborder_set(WINDOW *win,
             const cchar_t *ls, const cchar_t *rs,
             const cchar_t *ts, const cchar_t *bs,
             const cchar_t *tl, const cchar_t *tr,
             const cchar_t *bl, const cchar_t *br);

       int box_set(WINDOW *win, const cchar_t *verch,
             const cchar_t *horch);

       int hline_set(const cchar_t *wch, int n);
       int whline_set(WINDOW *win, const cchar_t *wch, int n);
       int mvhline_set(int y, int x, const cchar_t *wch, int n);
       int mvwhline_set(WINDOW *win, int y, int x,
             const cchar_t *wch, int n);

       int vline_set(const cchar_t *wch, int n);
       int wvline_set(WINDOW *win, const cchar_t *wch, int n);
       int mvvline_set(int y, int x, const cchar_t *wch, int n);
       int mvwvline_set(WINDOW *win, int y, int x,
             const cchar_t *wch, int n);

DESCRIPTION         top

       The border_set and wborder_set functions draw a border around the
       edges of the current or specified window.  These functions do not
       change the cursor position, and do not wrap.

       Other than the window, each argument is a complex character with
       attributes:
              ls - left side,
              rs - right side,
              ts - top side,
              bs - bottom side,
              tl - top left-hand corner,
              tr - top right-hand corner,
              bl - bottom left-hand corner, and
              br - bottom right-hand corner.

       If any of these arguments is zero, then the corresponding default
       values (defined in curses.h) are used instead:
              WACS_VLINE,
              WACS_VLINE,
              WACS_HLINE,
              WACS_HLINE,
              WACS_ULCORNER,
              WACS_URCORNER,
              WACS_LLCORNER, and
              WACS_LRCORNER.

       box_set(win, verch, horch); is a shorthand for the following call:

       wborder_set(win, verch, verch,
           horch, horch, NULL, NULL, NULL, NULL);

       The *line_set functions use wch to draw a line starting at the
       current cursor position in the window.  The line is at most n
       characters long or as many as fit into the window.  The current
       cursor position is not changed.

       The hline_set, mvhline_set, mvwhline_set, and whline_set functions
       draw a line proceeding toward the last column of the same line.

       The vline_set, mvvline_set, mvwvline_set, and wvline_set functions
       draw a line proceeding toward the last line of the window.

RETURN VALUE         top

       Upon successful completion, these functions return OK.  Otherwise,
       they return ERR.

       Functions using a window parameter return ERR if it is null.

       Functions prefixed with “mv” first perform cursor movement and
       fail if the position (y, x) is outside the window boundaries.

NOTES         top

       border_set, hline_set, mvhline_set, mvvline_set, mvwhline_set,
       mvwvline_set, and vline_set may be implemented as macros.

PORTABILITY         top

       X/Open Curses Issue 4 describes these functions.  It specifies no
       error conditions for them.

HISTORY         top

       X/Open Curses Issue 4 (1995) initially specified these functions.

SEE ALSO         top

       curses(3X), curs_add_wch(3X), curs_border(3X), curs_outopts(3X)

COLOPHON         top

       This page is part of the ncurses (new curses) project.
       Information about the project can be found at 
       ⟨https://invisible-island.net/ncurses/ncurses.html⟩.  If you have a
       bug report for this manual page, send it to bug-ncurses@gnu.org.
       This page was obtained from the tarball ncurses-6.6.tar.gz fetched
       from ⟨https://ftp.gnu.org/gnu/ncurses/⟩ on 2026-01-16.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for the
       page, or you have corrections or improvements to the information
       in this COLOPHON (which is not part of the original manual page),
       send a mail to man-pages@man7.org

ncurses @NCURSES_MAJOR@.@NCU... 2025-10-20            curs_border_set(3X)