Make the sidebar live in a proper independent window.
[apps/madmutt.git] / lib-ui / curses.h
index 39bfad0..9f7f272 100644 (file)
 #ifndef _MUTT_CURSES_H
 #define _MUTT_CURSES_H
 
-#include <lib-lib/lib-lib.h>
 #include "mutt.h"
 
-#if defined(HAVE_NCURSESW_NCURSES_H)
-#include <ncursesw/ncurses.h>
-#elif defined(HAVE_NCURSES_NCURSES_H)
-#include <ncurses/ncurses.h>
-#elif defined(HAVE_NCURSES_H)
-#include <ncurses.h>
-#else
-#include <curses.h>
-#endif
-
 /* AIX defines ``lines'' in <term.h>, but it's used as a var name in
  * various places in Mutt
  */
 #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 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(HAVE_CURS_SET)
-#define curs_set(x)
-#endif
-
-#if defined(HAVE_BKGDSET)
-#define BKGDSET(x) bkgdset (ColorDefs[x] | ' ')
-#else
-#define BKGDSET(x)
-#endif
+#define BKGDSET(x)  wbkgdset(stdscr, ColorDefs[x] | ' ')
 
-#if defined(HAVE_CURS_SET)
 void mutt_curs_set (int);
-#else
-#define mutt_curs_set(x)
-#endif
 #define PAGELEN (LINES-3)
 
 #define ctrl(c) ((c)-'@')
@@ -62,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
@@ -139,6 +115,7 @@ 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,
@@ -167,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)
@@ -175,8 +151,9 @@ 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; }