X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-ui%2Fcurses.h;h=9df89bedc86a505d22d24ef5b8460a315c9bc333;hp=6a3354093f6921c1e13bae14082200eadfe22919;hb=4a2f9b3cc151e0cebc27d46857a5d803cca35d61;hpb=dbb9a1e16d03a2d4664d6dc6a30c721b889d4982 diff --git a/lib-ui/curses.h b/lib-ui/curses.h index 6a33540..9df89be 100644 --- a/lib-ui/curses.h +++ b/lib-ui/curses.h @@ -12,45 +12,6 @@ #include "mutt.h" -#ifdef USE_SLANG_CURSES - -#ifndef unix /* this symbol is not defined by the hp-ux compiler (sigh) */ -#define unix -#endif /* unix */ - -#include "slcurses.h" - -#define KEY_DC SL_KEY_DELETE -#define KEY_IC SL_KEY_IC - -/* - * ncurses and SLang seem to send different characters when the Enter key is - * pressed, so define some macros to properly detect the Enter key. - */ -#define M_ENTER_C '\r' -#define M_ENTER_S "\r" - -#else - -#ifdef HAVE_NCURSESW_NCURSES_H -#include -#else -#ifdef HAVE_NCURSES_NCURSES_H -#include -#else -#ifdef HAVE_NCURSES_H -#include -#else -#include -#endif -#endif -#endif - -#define M_ENTER_C '\n' -#define M_ENTER_S "\n" - -#endif /* USE_SLANG_CURSES */ - /* AIX defines ``lines'' in , but it's used as a var name in * various places in Mutt */ @@ -58,27 +19,14 @@ #undef lines #endif /* lines */ -#define CLEARLINE_WIN(x) move(x,(option(OPTMBOXPANE)?SidebarWidth:0)), clrtoeol() -#define CLEARLINE(x) move(x,0), clrtoeol() -#define CENTERLINE(x,y) move(y, (COLS-strlen(x))/2), addstr(x) -#define BEEP() do { if (option (OPTBEEP)) beep(); } while (0) - -#if ! (defined(USE_SLANG_CURSES) || defined(HAVE_CURS_SET)) -#define curs_set(x) -#endif +#define CLEARLINE(W, x) wmove(W, x,0), wclrtoeol(W) +#define BEEP() do { if (mod_core.beep) beep(); } while (0) -#if !defined(USE_SLANG_CURSES) && defined(HAVE_BKGDSET) -#define BKGDSET(x) bkgdset (ColorDefs[x] | ' ') -#else -#define BKGDSET(x) -#endif +#define BKGDSET(W, x) wbkgdset(W, ColorDefs[x] | ' ') +#define SETCOLOR(W, X) wattrset(W, ColorDefs[X]) +#define ADDCOLOR(W, X) wattron(W, ColorDefs[X]) -#if (defined(USE_SLANG_CURSES) || defined(HAVE_CURS_SET)) void mutt_curs_set (int); -#else -#define mutt_curs_set(x) -#endif -#define PAGELEN (LINES-3) #define ctrl(c) ((c)-'@') @@ -89,13 +37,13 @@ void mutt_curs_set (int); #endif event_t mutt_getch (void); +#define waddwch(win, w) waddnwstr(win, &(w), 1) + +void curses_initialize(void); +void curses_install(void); -void mutt_endwin (const char *); void mutt_flushinp (void); -void mutt_refresh (void); -void mutt_resize_screen (void); void mutt_ungetch (int, int); -void mutt_need_hard_redraw (void); /* ---------------------------------------------------------------------------- * Support for color @@ -141,10 +89,48 @@ typedef struct { const char* msg; long pos; long size; - char sizestr[SHORT_STRING]; + char sizestr[STRING]; } progress_t; void mutt_progress_bar (progress_t* progress, long pos); +void mutt_clear_error (void); +void mutt_edit_file (const char *); +void mutt_curses_error (const char *, ...) + __attribute__((format(printf, 1, 2))); +void mutt_curses_message (const char *, ...) + __attribute__((format(printf, 1, 2))); +void mutt_format_string (char *, ssize_t, int, int, int, char, const char *, + ssize_t, int); +void mutt_format_s (char *, ssize_t, const char *, const char *); +void mutt_format_s_tree (char *, ssize_t, const char *, const char *); +void mutt_free_color (int fg, int bg); +void mutt_paddstr(WINDOW *, int, const char *); +#define mutt_perror(s) \ + mutt_error("%s: %m (errno = %d) from %s:%i", s, errno, __FILE__, __LINE__) +void mutt_query_exit (void); +void mutt_query_menu (char *, ssize_t); +void mutt_show_error (void); +ssize_t mutt_pretty_size(char *s, ssize_t len, ssize_t n); + +int mutt_any_key_to_continue (const char *); +int mutt_complete (char *, ssize_t); +#define mutt_enter_fname(A,B,C,D,E) _mutt_enter_fname(A,B,C,D,E,0,NULL,NULL) +int _mutt_enter_fname (const char *, char *, ssize_t, int *, int, int, + char ***, int *); + +#define mutt_get_field(A,B,C,D) _mutt_get_field(A,B,C,D,0,NULL,NULL) +int _mutt_get_field (const char *, char *, ssize_t, int, int, char ***, int *); +int mutt_get_field_unbuffered (char *, char *, ssize_t, int); +int mutt_index_menu (void); +int mutt_is_mail_list (address_t *); +int mutt_is_subscribed_list (address_t *); +int mutt_multi_choice (const char *prompt, const char *letters); +int mutt_parse_color (BUFFER *, BUFFER *, unsigned long, BUFFER *); +int mutt_parse_uncolor (BUFFER *, BUFFER *, unsigned long, BUFFER *); +int mutt_query_complete (char *, ssize_t); +int mutt_user_is_recipient (HEADER *); +int mutt_yesorno (const char *, int); +void mutt_set_header_color (CONTEXT *, HEADER *); extern int *ColorQuote; extern int ColorQuoteUsed; @@ -153,11 +139,11 @@ extern COLOR_LINE *ColorHdrList; extern COLOR_LINE *ColorBodyList; extern COLOR_LINE *ColorIndexList; -void ci_init_color (void); void ci_start_color (void); -#define SETCOLOR(X) attrset(ColorDefs[X]) -#define ADDCOLOR(X) attron(ColorDefs[X]) +#define mutt_make_string(A,B,C,D,E) _mutt_make_string(A,B,C,D,E,0) +void _mutt_make_string (char *, ssize_t, const char *, CONTEXT *, + HEADER *, format_flag); #define MAYBE_REDRAW(x) if (option (OPTNEEDREDRAW)) { unset_option (OPTNEEDREDRAW); x = REDRAW_FULL; }