From a772c51a1672e5dd7c9c70ee7e50cfa79e13b023 Mon Sep 17 00:00:00 2001 From: Fumitoshi UKAI Date: Tue, 5 Nov 2002 17:10:04 +0000 Subject: [w3m-dev 03372] tab browser * display.c (displayBuffer): add ny rootY offset by tab tab line (cursorDown): offset rootY (arrangeCursor): offset rootY * etc.c (columnSkip): offset rootY (lineSkip): offset rootY (currentLineSkip): offset rootY * file.c (HTMLlineproc2body): ATTR_TARGET * fm.h (MapArea): add target (Buffer): add rootY (TabBuffer): added (Currentbuf): comment out (Firstbuf): comment out (CurrentTab): added (FirstTab): added (LastTab): added (open_tab_blank): added (close_tab_back): added (nTab): added (TabCols): added (N_TAB): added (Currentbuf): CurrentTab->currentBuffer (Firstbuf): CurrentTab->firstBuffer * funcname.tab (CLOSE_TAB): added (NEW_TAB): added (NEXT_TAB): added (PREV_TAB): added (TAB_GOTO): added (TAB_GOTO_RELATIVE): added (TAB_LEFT): added (TAB_LINK): added (TAB_MENU): added (TAB_RIGHT): added * html.c (ALST_AREA): add ATTR_TARGET * image.c (showImageProgress): offset rootY * main.c (_newT): added (followTab): added (moveTab): added (check_target): added (MAIN): init tab related values buf => tab (nscroll): offset rootY (pgFore): offset rootY (pgBack): offset rootY (ctrCsrV): offset rootY (_movD): offset rootY (_movU): offset rootY (_goLine): offset rootY (_mark): offset rootY (followA): check target (_followForm): offset rootY (drawAnchorCursor0): offset rootY (drawAnchorCursor): offset rootY (backBf): check close_tab_back (follow_map): rewrite for tab, check target (posTab): added (process_mouse): tab operation offset rootY (deleteFiles): for all buffers in all tabs (newTab): added (newT): added (numTab): added (deleteTab): added (closeT): added (nextT): added (prevT): added (followTab): added (tabA): added (tabURL0): added (tabURL): added (tabrURL): added (moveTab): added (tabR): added (tabL): added * map.c (follow_map_menu): return MapArea (newMapArea): add target args * menu.c (SelTabMenu): added (SelTabV): added (initSelTabMenu): added (smChTab): added (smDelTab): added (MainMenuItem): add Select Tab on New Tab (popupMenu): add initSelTabMenu() offset rootY (mainMn): offset rootY (selMn): offset rootY (initSelectMenu): offset rootY (tabMn): added * proto.h (newT): added (closeT): added (nextT): added (prevT): added (tabA): added (tabURL): added (tabrURL): added (tabR): added (tabL): added (newTab): added (deleteTab): added (follow_map_menu): return MapArea (newMapArea): add target arg (tabMn): added * rc.c (CMT_OPEN_TAB_BLANK): added (CMT_CLOSE_TAB_BACK): added (open_tab_blank): added (close_tab_back): added * doc/README.func (CLOSE_TAB): added (NEW_TAB): added (NEXT_TAB): added (PREV_TAB): added (TAB_GOTO): added (TAB_GOTO_RELATIVE): added (TAB_LEFT): added (TAB_LINK): added (TAB_MENU): added (TAB_RIGHT): added * doc-jp/README.func: ditto doc/README.func From: Hironori SAKAMOTO --- etc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'etc.c') diff --git a/etc.c b/etc.c index 4bdb72b..8917ec9 100644 --- a/etc.c +++ b/etc.c @@ -1,4 +1,4 @@ -/* $Id: etc.c,v 1.30 2002/11/05 16:03:13 ukai Exp $ */ +/* $Id: etc.c,v 1.31 2002/11/05 17:10:05 ukai Exp $ */ #include "fm.h" #include #include "myctype.h" @@ -42,7 +42,7 @@ columnSkip(Buffer *buf, int offset) { int i, maxColumn; int column = buf->currentColumn + offset; - int nlines = LASTLINE + 1; + int nlines = LASTLINE + 1 - buf->rootY; Line *l; maxColumn = 0; @@ -91,8 +91,8 @@ lineSkip(Buffer *buf, Line *line, int offset, int last) #ifdef NEXTPAGE_TOPLINE if (!nextpage_topline) #endif - for (i = (LASTLINE - 1) - (buf->lastLine->linenumber - l->linenumber); - i > 0 && l->prev != NULL; i--, l = l->prev) ; + for (i = (LASTLINE - 1 - buf->rootY) - (buf->lastLine->linenumber + - l->linenumber); i > 0 && l->prev != NULL; i--, l = l->prev) ; return l; } @@ -103,7 +103,7 @@ currentLineSkip(Buffer *buf, Line *line, int offset, int last) Line *l = line; if (buf->pagerSource && !(buf->bufferprop & BP_CLOSE)) { - n = line->linenumber + offset + LASTLINE; + n = line->linenumber + offset + LASTLINE - buf->rootY; if (buf->lastLine->linenumber < n) getNextPage(buf, n - buf->lastLine->linenumber); while ((last || (buf->lastLine->linenumber < n)) && -- cgit v1.2.3