changeset 119:4bc63a535acb

Fix some PDCurses incompatibilities and remove some Win32/PDCurses specific hacks.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 28 Oct 2010 23:22:31 +0300
parents 9e7f52878725
children 804c7db454b4
files Makefile.w32 nnchat.c
diffstat 2 files changed, 20 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.w32	Mon Oct 25 01:35:12 2010 +0300
+++ b/Makefile.w32	Thu Oct 28 23:22:31 2010 +0300
@@ -6,7 +6,13 @@
 # C-compiler, flags and linker flags
 CC=gcc
 CFLAGS=-DHAVE_STRING_H -Ipdcurses
-LDFLAGS=-L/usr/local/i386-mingw32/lib/ -lmingw32 pdcurses/libpdcurses.a -liberty -lws2_32 -s
+LDFLAGS=-L/usr/local/i386-mingw32/lib/ -lmingw32 -liberty -lws2_32 -s
+
+ifeq ($(SDL),y)
+LDFLAGS+=pdcurses/libpdcurses-sdl.a -lSDL
+else
+LDFLAGS+=pdcurses/libpdcurses.a
+endif
 
 # Miscellaneous
 EXEEXT=.exe
--- a/nnchat.c	Mon Oct 25 01:35:12 2010 +0300
+++ b/nnchat.c	Thu Oct 28 23:22:31 2010 +0300
@@ -18,7 +18,7 @@
 #define SET_MAX_BACKBUF (1024)
 #define SET_MAX_HISTORY (16)
 #define SET_DELAY       (15)
-#define SET_DELAY_USEC  (SET_DELAY * 250)
+#define SET_DELAY_USEC  (SET_DELAY * 150)
 #define SET_KEEPALIVE   (15*60)     /* Ping/keepalive period in seconds */
 
 char *ignoreList[] = {
@@ -176,19 +176,13 @@
         strftime(tmpStr, sizeof(tmpStr), "%H:%M:%S", tmpTime);
     }
 
-#ifdef __WIN32
-    /* PDCurses does not like the hack used for ncurses to get a specific
-     * colour background .. so we just use something else, but uglier. :|
-     */
-    wbkgdset(statusWin, A_REVERSE | COLOR_PAIR(13));
-#else
-    wbkgdset(statusWin, 0x0d00);
-#endif
+    wbkgdset(statusWin, COLOR_PAIR(10));
     werase(statusWin);
     
-    wattrset(statusWin, A_BOLD);
+    wattrset(statusWin, A_BOLD | COLOR_PAIR(11));
     mvwaddstr(statusWin, 0, 1, tmpStr);
     
+    wattrset(statusWin, A_BOLD | COLOR_PAIR(13));
     waddstr(statusWin, " | ");
     wattrset(statusWin, A_BOLD | COLOR_PAIR(16));
     waddstr(statusWin, optUserName);
@@ -955,7 +949,6 @@
             /* Handle several buffered keypresses at once */
             do {
             c = wgetch(stdscr);
-            
             if (c == 0x1b) {
                 c = wgetch(stdscr);
                 if (c == 'O') {
@@ -973,13 +966,21 @@
                 }
             }
             
+
             switch (c) {
 #ifdef KEY_RESIZE
             case KEY_RESIZE:
+#ifdef PDCURSES
+                resize_term(0, 0);
+                erase();
+                timeout(SET_DELAY);
+#endif
+                                
                 if (!initializeWindows()) {
-                    errorMsg("Error resizing ncurses windows\n");
+                    errorMsg("Error resizing curses windows\n");
                     isError = TRUE;
                 }
+                update = TRUE;
                 break;
 #endif