diff options
| -rw-r--r-- | ChangeLog | 27 | ||||
| -rw-r--r-- | terms.c | 44 | ||||
| -rw-r--r-- | terms.h | 18 | 
3 files changed, 63 insertions, 26 deletions
| @@ -1,3 +1,28 @@ +2002-11-16  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + +	* [w3m-dev 03434] Re: cygwin console on Win9X +	* terms.c (cygwin_mouse_btn_swapped): ifdef USE_MOUSE +		(lastConMouse): deleted +		(check_win9x): static +		(read_win32_console): static +		(GetConsoleHwnd): static +		(cygwin_version): ifdef USE_MOUSE, static +		(check_cygwin_console): static +		(NEED_XTERM_ON): added +		(NEED_XTERM_OFF): added +		(NEED_CYGWIN_ON): added +		(NEED_CYGWIN_OFF): added +		(XTERM_TITLE): static char[] +		(SCREEN_TITLE): static char[] +		(CYGWIN_TITLE): static char[] +		(term_title): check title_str +	* terms.h (LASTLINE): added +		(is_xterm): deleted +		(enable_win9x_console_input): extern +		(disable_win9x_console_input): extern +		(NEED_XTERM_ON): deleted +		(NEED_XTERM_OFF): deleted +  2002-11-16  WATANABE Katsuyuki <katsuyuki_1.watanabe@toppan.co.jp>  	* [w3m-dev 03433] cygwin console on Win9X @@ -4726,4 +4751,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.517 2002/11/15 15:36:48 ukai Exp $ +$Id: ChangeLog,v 1.518 2002/11/15 15:44:36 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: terms.c,v 1.36 2002/11/15 15:37:33 ukai Exp $ */ +/* $Id: terms.c,v 1.37 2002/11/15 15:44:36 ukai Exp $ */  /*    * An original curses library for EUC-kanji by Akinori ITO,     December 1989   * revised by Akinori ITO, January 1995 @@ -61,18 +61,17 @@ extern int CodePage;  #include <sys/cygwin.h>  static int isWinConsole = 0;  static int isLocalConsole = 0; +#ifdef USE_MOUSE  int cygwin_mouse_btn_swapped = 0; +#endif  #if defined(SUPPORT_WIN9X_CONSOLE_MBCS)  static HANDLE hConIn = INVALID_HANDLE_VALUE; -static int isWin95; +static int isWin95 = 0;  static char *ConInV;  static int iConIn, nConIn, nConInMax; -#ifdef USE_MOUSE -static MOUSE_EVENT_RECORD lastConMouse; -#endif -void +static void  check_win9x(void)  {      OSVERSIONINFO winVersionInfo; @@ -155,7 +154,7 @@ read_win32_console_input(void)      return 0;  } -int +static int  read_win32_console(char *s, int n)  {      KEY_EVENT_RECORD *ker; @@ -187,7 +186,7 @@ read_win32_console(char *s, int n)  #endif				/* SUPPORT_WIN9X_CONSOLE_MBCS */ -HWND +static HWND  GetConsoleHwnd(void)  {  #define MY_BUFSIZE 1024 @@ -205,7 +204,8 @@ GetConsoleHwnd(void)      return (hwndFound);  } -unsigned long +#ifdef USE_MOUSE +static unsigned long  cygwin_version(void)  {      struct per_process *p; @@ -216,8 +216,9 @@ cygwin_version(void)      }      return 0;  } +#endif -void +static void  check_cygwin_console(void)  {      char *term = getenv("TERM"); @@ -237,10 +238,12 @@ check_cygwin_console(void)  	check_win9x();  #endif      } +#ifdef USE_MOUSE      if (cygwin_version() <= 1003015) {  	/* cygwin DLL 1.3.15 or earler */  	cygwin_mouse_btn_swapped = 1;      } +#endif  }  #endif				/* __CYGWIN__ */ @@ -414,12 +417,21 @@ writestr(char *s)  #ifdef USE_MOUSE  #define W3M_TERM_INFO(name, title, mouse)	name, title, mouse +#define NEED_XTERM_ON   (1) +#define NEED_XTERM_OFF  (1<<1) +#ifdef __CYGWIN__ +#define NEED_CYGWIN_ON  (1<<2) +#define NEED_CYGWIN_OFF (1<<3) +#endif  #else  #define W3M_TERM_INFO(name, title, mouse)	name, title  #endif -#define XTERM_TITLE	"\033]0;w3m: %s\007" -#define SCREEN_TITLE	"\033k%s\033\134" +static char XTERM_TITLE[]  = "\033]0;w3m: %s\007"; +static char SCREEN_TITLE[] = "\033k%s\033\134"; +#ifdef __CYGWIN__ +static char CYGWIN_TITLE[] = "w3m: %s"; +#endif  /* *INDENT-OFF* */  static struct w3m_term_info { @@ -436,7 +448,7 @@ static struct w3m_term_info {      {W3M_TERM_INFO("mlterm", XTERM_TITLE, (NEED_XTERM_ON|NEED_XTERM_OFF))},      {W3M_TERM_INFO("screen", SCREEN_TITLE, 0)},  #ifdef __CYGWIN__ -    {W3M_TERM_INFO("cygwin", XTERM_TITLE, (NEED_CYGWIN_ON|NEED_CYGWIN_OFF))}, +    {W3M_TERM_INFO("cygwin", CYGWIN_TITLE, (NEED_CYGWIN_ON|NEED_CYGWIN_OFF))},  #endif      {W3M_TERM_INFO(NULL, NULL, 0)}  }; @@ -1811,12 +1823,12 @@ term_title(char *s)          return;      if (title_str != NULL) {  #ifdef __CYGWIN__ -	if (isLocalConsole) { +	if (isLocalConsole && title_str == CYGWIN_TITLE) {  	    char buff[1024]; -	    snprintf(buff, sizeof(buff), "w3m: %s", s); +	    snprintf(buff, sizeof(buff), title_str, s);  	    SetConsoleTitle(buff);  	} -	else if (!isWinConsole) +	else if (isLocalConsole || !isWinConsole)  #endif          fprintf(ttyf, title_str, s);      } @@ -1,8 +1,11 @@ -/* $Id: terms.h,v 1.7 2002/11/15 15:36:48 ukai Exp $ */ +/* $Id: terms.h,v 1.8 2002/11/15 15:44:36 ukai Exp $ */  #ifndef TERMS_H  #define TERMS_H  extern int LINES, COLS; +#if defined(__CYGWIN__) && LANG == JA +extern int LASTLINE; +#endif  #define CODE_ASCII	'\0'  #define CODE_EUC	'E' @@ -37,19 +40,16 @@ extern int LINES, COLS;  #define MOUSE_BTN5_DOWN_XTERM 65  #define MOUSE_BTN_UP 3  #define MOUSE_BTN_RESET -1 +#endif  #ifdef __CYGWIN__ -extern int is_xterm; +#ifdef USE_MOUSE  extern int cygwin_mouse_btn_swapped; -#ifdef SUPPORT_WIN9X_CONSOLE_MBCS -void enable_win9x_console_input(void); -void disable_win9x_console_input(void);  #endif -#define NEED_CYGWIN_ON	(1<<2) -#define NEED_CYGWIN_OFF	(1<<3) +#ifdef SUPPORT_WIN9X_CONSOLE_MBCS +extern void enable_win9x_console_input(void); +extern void disable_win9x_console_input(void);  #endif -#define NEED_XTERM_ON	(1) -#define NEED_XTERM_OFF	(1<<1)  #endif  #endif				/* not TERMS_H */ | 
