*** w3m-0.4/rc.c Thu Feb 27 20:53:42 2003 --- w3m-0.4-k1/rc.c Thu Feb 27 20:46:30 2003 *************** *** 181,186 **** --- 183,189 ---- #define CMT_RELATIVE_WHEEL_SCROLL "ホイールでのスクロール速度の扱い" #define CMT_RELATIVE_WHEEL_SCROLL_RATIO "(Aのみ)画面の何%スクロールするか" #define CMT_FIXED_WHEEL_SCROLL_COUNT "(Bのみ)スクロールする行数" + #define CMT_SINGLE_CLICK_JUMP "カーソル移動とURLジャンプを同時に行う" #endif /* USE_MOUSE */ #define CMT_CLEAR_BUF "表示されていないバッファのメモリを解放する" #define CMT_NOSENDREFERER "Referer: を送らないようにする" *************** *** 368,373 **** --- 378,384 ---- #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" + #define CMT_SINGLE_CLICK_JUMP "Move cursor and retrieve URL at once by SingleClick" #endif /* USE_MOUSE */ #define CMT_CLEAR_BUF "Free memory of undisplayed buffers" #define CMT_NOSENDREFERER "Suppress `Referer:' header" *************** *** 688,693 **** --- 726,734 ---- {"fixed_wheel_scroll_count", P_INT, PI_TEXT, (void *)&fixed_wheel_scroll_count, CMT_FIXED_WHEEL_SCROLL_COUNT, NULL}, + {"single_click_jump", P_INT, PI_ONOFF, + (void *)&single_click_jump, + CMT_SINGLE_CLICK_JUMP, NULL}, #endif /* USE_MOUSE */ {"clear_buffer", P_INT, PI_ONOFF, (void *)&clear_buffer, CMT_CLEAR_BUF, NULL}, *** w3m-0.4/main.c Thu Feb 27 20:53:42 2003 --- w3m-0.4-k1/main.c Thu Feb 27 20:37:01 2003 *************** *** 5085,5090 **** --- 5085,5108 ---- } } else if (y > ny) { + if (single_click_jump) + { + int cx = Currentbuf->cursorX, cy = Currentbuf->cursorY; + cursorXY(Currentbuf, x - Currentbuf->rootX, y - Currentbuf->rootY); + if (y == Currentbuf->cursorY + Currentbuf->rootY && + (x == Currentbuf->cursorX + Currentbuf->rootX + #ifdef USE_M17N + || (WcOption.use_wide && Currentbuf->currentLine != NULL && + (CharType(Currentbuf->currentLine-> + propBuf[Currentbuf->pos]) == PC_KANJI1) + && x == Currentbuf->cursorX + Currentbuf->rootX + 1) + #endif + ) && + (retrieveCurrentAnchor(Currentbuf) || + retrieveCurrentForm(Currentbuf))) + map = &mouse_action.anchor_map[btn]; + // cursorXY(Currentbuf, cx, cy); + } if (y == Currentbuf->cursorY + Currentbuf->rootY && (x == Currentbuf->cursorX + Currentbuf->rootX #ifdef USE_M17N *************** *** 5100,5107 **** if (!(map && map->func)) map = &mouse_action.anchor_map[btn]; } ! } ! else { int cx = Currentbuf->cursorX, cy = Currentbuf->cursorY; cursorXY(Currentbuf, x - Currentbuf->rootX, y - Currentbuf->rootY); if (y == Currentbuf->cursorY + Currentbuf->rootY && --- 5118,5125 ---- if (!(map && map->func)) map = &mouse_action.anchor_map[btn]; } ! } else if (!single_click_jump) ! { int cx = Currentbuf->cursorX, cy = Currentbuf->cursorY; cursorXY(Currentbuf, x - Currentbuf->rootX, y - Currentbuf->rootY); if (y == Currentbuf->cursorY + Currentbuf->rootY && *** w3m-0.4/fm.h Thu Feb 27 20:53:42 2003 --- w3m-0.4-k1/fm.h Thu Feb 27 20:35:42 2003 *************** *** 1042,1047 **** --- 1051,1057 ---- global int relative_wheel_scroll init(FALSE); global int fixed_wheel_scroll_count init(5); global int relative_wheel_scroll_ratio init(30); + global int single_click_jump init(FALSE); typedef struct _MouseActionMap { void (*func) (); char *data;