X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-ui%2Fcurses.h;h=9f7f272f34d94aedc1b6d0516e837984304cd954;hp=33286c3c90756d14b2961b5043a6f004d7093dff;hb=5dcac54e5db074dc4572f843666c7f7acaf2d109;hpb=d8aeb41018aaf2f85fbd937278ffdd94164e236e diff --git a/lib-ui/curses.h b/lib-ui/curses.h index 33286c3..9f7f272 100644 --- a/lib-ui/curses.h +++ b/lib-ui/curses.h @@ -10,48 +10,8 @@ #ifndef _MUTT_CURSES_H #define _MUTT_CURSES_H -#include #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 */ @@ -59,26 +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) +#define CLEARLINE_WIN(x) wmove(stdscr, x,(option(OPTMBOXPANE)?SidebarWidth:0)), wclrtoeol(stdscr) +#define CLEARLINE(x) wmove(stdscr, x,0), wclrtoeol(stdscr) +#define CENTERLINE(x,y) wmove(stdscr, y, (COLS-strlen(x))/2), waddstr(stdscr, x) +#define BEEP() do { if (mod_core.beep) beep(); } while (0) -#if ! (defined(USE_SLANG_CURSES) || defined(HAVE_CURS_SET)) -#define curs_set(x) -#endif +#define BKGDSET(x) wbkgdset(stdscr, ColorDefs[x] | ' ') -#if !defined(USE_SLANG_CURSES) && defined(HAVE_BKGDSET) -#define BKGDSET(x) bkgdset (ColorDefs[x] | ' ') -#else -#define BKGDSET(x) -#endif - -#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)-'@') @@ -91,12 +39,11 @@ void mutt_curs_set (int); event_t mutt_getch (void); -void mutt_endwin (const char *); +void curses_initialize(void); +void curses_install(void); + 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 @@ -142,14 +89,16 @@ 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 *, const char *); -void mutt_curses_error (const char *, ...); -void mutt_curses_message (const char *, ...); +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 *); @@ -161,10 +110,12 @@ void _mutt_perror (const char*, const char*,int); 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_addwch (wchar_t); int mutt_alloc_color (int fg, int bg); int mutt_any_key_to_continue (const char *); +void mutt_what_key (void); 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, @@ -176,13 +127,12 @@ 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 (char *prompt, char *letters); +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_parse_mono (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_parse_unmono (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_query_complete (char *, ssize_t); -int mutt_strwidth (const char *); int mutt_user_is_recipient (HEADER *); int mutt_yesorno (const char *, int); void mutt_set_header_color (CONTEXT *, HEADER *); @@ -194,7 +144,6 @@ extern COLOR_LINE *ColorHdrList; extern COLOR_LINE *ColorBodyList; extern COLOR_LINE *ColorIndexList; -void ci_init_color (void); void ci_start_color (void); #define mutt_make_string(A,B,C,D,E) _mutt_make_string(A,B,C,D,E,0) @@ -202,9 +151,12 @@ void _mutt_make_string (char *, ssize_t, const char *, CONTEXT *, HEADER *, format_flag); -#define SETCOLOR(X) attrset(ColorDefs[X]) -#define ADDCOLOR(X) attron(ColorDefs[X]) +#define WSETCOLOR(w, X) wattrset(w, ColorDefs[X]) +#define SETCOLOR(X) wattrset(stdscr, ColorDefs[X]) +#define ADDCOLOR(X) wattron(stdscr, ColorDefs[X]) #define MAYBE_REDRAW(x) if (option (OPTNEEDREDRAW)) { unset_option (OPTNEEDREDRAW); x = REDRAW_FULL; } +#define SW (option(OPTMBOXPANE)?SidebarWidth:0) + #endif /* !_MUTT_CURSES_H */