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