[w3m-dev 03408] fix Bug#87472: MOUSE_SCROLL_LINE should be a run-time option

* fm.h (relative_wheel_scroll): added
	(fixed_wheel_scroll_count): added
	(relative_wheel_scroll_ratio): added
* main.c (mouse_scroll_line): added
	(process_mouse): s/MOUSE_SCROLL_LINE/mouse_scroll_line()/
* menu.c (MOUSE_SCROLL_LINE): deleted
* terms.h (MOUSE_SCROLL_LINE): deleted
* rc.c (CMT_RELATIVE_WHEEL_SCROLL): added
	(CMT_RELATIVE_WHEEL_SCROLL_RATIO): added
	(CMT_FIXED_WHEEL_SCROLL_COUNT): added
	(wheelmode): added
	(params3): add relative_wheel_scroll,
			relative_wheel_scroll_ratio,
			fixed_wheel_scroll_count
From: AIDA Shinra <aida-s@jcom.home.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2002-11-11 15:33:28 +00:00
parent ca91822bb6
commit d4b7c51b76
7 changed files with 72 additions and 12 deletions

29
rc.c
View File

@@ -1,4 +1,4 @@
/* $Id: rc.c,v 1.60 2002/11/09 21:55:24 ukai Exp $ */
/* $Id: rc.c,v 1.61 2002/11/11 15:33:39 ukai Exp $ */
/*
* Initialization file etc.
*/
@@ -164,6 +164,9 @@ static char *config_file = NULL;
#ifdef USE_MOUSE
#define CMT_MOUSE "<22>ޥ<EFBFBD><DEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>"
#define CMT_REVERSE_MOUSE "<22>ޥ<EFBFBD><DEA5><EFBFBD><EFBFBD>Υɥ<CEA5><C9A5>å<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>դˤ<D5A4><CBA4><EFBFBD>"
#define CMT_RELATIVE_WHEEL_SCROLL "<22>ۥ<EFBFBD><DBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǤΥ<C7A4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>®<EFBFBD>٤ΰ<D9A4><CEB0><EFBFBD>"
#define CMT_RELATIVE_WHEEL_SCROLL_RATIO "(A<>Τ<EFBFBD>)<29><><EFBFBD>̤β<CCA4>%<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤫"
#define CMT_FIXED_WHEEL_SCROLL_COUNT "(B<>Τ<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA4B9><EFBFBD>Կ<EFBFBD>"
#endif /* USE_MOUSE */
#define CMT_CLEAR_BUF "ɽ<><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ʤ<EFBFBD><CAA4>Хåե<C3A5><D5A5>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#define CMT_NOSENDREFERER "Referer: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD>"
@@ -310,6 +313,9 @@ static char *config_file = NULL;
#ifdef USE_MOUSE
#define CMT_MOUSE "Enable mouse"
#define CMT_REVERSE_MOUSE "Scroll in reverse direction of mouse drag"
#define CMT_RELATIVE_WHEEL_SCROLL "Behavior of wheel scroll speed"
#define CMT_RELATIVE_WHEEL_SCROLL_RATIO "(A only)Scroll by # % of screen"
#define CMT_FIXED_WHEEL_SCROLL_COUNT "(B only)Scroll by # lines"
#endif /* USE_MOUSE */
#define CMT_CLEAR_BUF "Free memory of undisplayed buffers"
#define CMT_NOSENDREFERER "Suppress `Referer:' header"
@@ -433,6 +439,21 @@ static struct sel_c defaulturls[] = {
#endif
{0, NULL, NULL}
};
#ifdef USE_MOUSE
static struct sel_c wheelmode[] =
{
#if LANG == JA
{TRUE, "1", "A:<3A><><EFBFBD>̥<EFBFBD><CCA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
{FALSE, "0", "B:<3A><><EFBFBD><EFBFBD><EFBFBD>ιԿ<CEB9>"},
{0, NULL, NULL}
#else /* LANG != JA */
{TRUE, "1", "A:relative to screen height"},
{FALSE, "0", "B:fixed speed"},
{0, NULL, NULL}
#endif /* LANG != JA */
};
#endif /* MOUSE */
#ifdef INET6
static struct sel_c dnsorders[] = {
{N_S(DNS_ORDER_UNSPEC), "unspecified"},
@@ -589,6 +610,12 @@ struct param_ptr params3[] = {
{"use_mouse", P_INT, PI_ONOFF, (void *)&use_mouse, CMT_MOUSE, NULL},
{"reverse_mouse", P_INT, PI_ONOFF, (void *)&reverse_mouse,
CMT_REVERSE_MOUSE, NULL},
{"relative_wheel_scroll", P_INT, PI_SEL_C, (void *) &relative_wheel_scroll,
CMT_RELATIVE_WHEEL_SCROLL, wheelmode},
{"relative_wheel_scroll_ratio", P_INT, PI_TEXT, (void *) &relative_wheel_scroll_ratio,
CMT_RELATIVE_WHEEL_SCROLL_RATIO, NULL},
{"fixed_wheel_scroll_count", P_INT, PI_TEXT, (void *) &fixed_wheel_scroll_count,
CMT_FIXED_WHEEL_SCROLL_COUNT, NULL},
#endif /* USE_MOUSE */
{"clear_buffer", P_INT, PI_ONOFF, (void *)&clear_buffer, CMT_CLEAR_BUF,
NULL},