Re: Sponsor development of the key motion.

Ligesh <[email protected]>
Newsgroups gmane.comp.web.links
Message-ID <[email protected]>
 Woohoo. it works properly now.  You can post this into the elinks list and I will ask them to include it.

 Thanks again.


On Tue, Aug 14, 2007 at 11:48:42PM +0530, Ligesh wrote:
>  This bug has to be fixed properly, otherwise, this is really interfering with the default elinks behaviour. If we can fix this cursor geometry issue, I will surely ask them to include it in the mainstream.
> 
>  Thanks a lot.
> 
> 
> On Tue, Aug 14, 2007 at 07:59:14PM +0200, Witold Filipczyk wrote:
> > Here is the patch.
> > Kalle, Jonas, could apply them (key motion patches) to the mainstream ELinks?
> 
> > move-link-down-line, move-link-prev-line, etc.:
> > Change mode to NAVIGATE_LINKWISE to preserve the link position when
> > going back.
> > 
> > ---
> > commit 14b37d0362f9963cb2803d08d2c3e6e84574cdbe
> > tree 062545598ae45bf519f7e825b0302542061bbf34
> > parent 2045574edca170a47b1e9f1e05cd210bdae8a49a
> > author Witold Filipczyk <[email protected]> Tue, 14 Aug 2007 19:56:02 +0200
> > committer Witold Filipczyk <nobody@nowhere> Tue, 14 Aug 2007 19:56:02 +0200
> > 
> >  src/viewer/text/view.c |   25 ++++++++++++++++++++-----
> >  1 files changed, 20 insertions(+), 5 deletions(-)
> > 
> > diff --git a/src/viewer/text/view.c b/src/viewer/text/view.c
> > index 887f301..a0ebefa 100644
> > --- a/src/viewer/text/view.c
> > +++ b/src/viewer/text/view.c
> > @@ -201,8 +201,13 @@ move_link_prev_line(struct session *ses, struct document_view *doc_view)
> >  			if (!last) last = link;
> >  			else if (link->points[0].x > last->points[0].x) last = link;
> >  		}
> > -		if (last)
> > -			return move_cursor_rel(ses, doc_view, last->points[0].x - x1, last->points[0].y - y1);
> > +		if (last) {
> > +			enum frame_event_status status = move_cursor_rel(ses, doc_view,
> > +				last->points[0].x - x1, last->points[0].y - y1);
> > +
> > +			ses->navigate_mode = NAVIGATE_LINKWISE;
> > +			return status;
> > +		}
> >  	}
> >  	return FRAME_EVENT_OK;
> >  }
> > @@ -245,8 +250,13 @@ move_link_next_line(struct session *ses, struct document_view *doc_view)
> >  			if (!last) last = link;
> >  			else if (link->points[0].x < last->points[0].x) last = link;
> >  		}
> > -		if (last)
> > -			return move_cursor_rel(ses, doc_view, last->points[0].x - x1, last->points[0].y - y1);
> > +		if (last) {
> > +			enum frame_event_status status = move_cursor_rel(ses, doc_view,
> > +				last->points[0].x - x1, last->points[0].y - y1);
> > +
> > +			ses->navigate_mode = NAVIGATE_LINKWISE;
> > +			return status;
> > +		}
> >  	}
> >  	return FRAME_EVENT_OK;
> >  }
> > @@ -708,7 +718,12 @@ move_link_vertical(struct session *ses, struct document_view *doc_view, int dir_
> >  		if (!link) continue;
> >  		for (; link <= document->lines2[y]; link++) {
> >  			if (link->points[0].y == y) {
> > -				return move_cursor_rel(ses, doc_view, 0, y - y1);
> > +				enum frame_event_status status = move_cursor_rel(ses,
> > +					doc_view, 0, y - y1);
> > +
> > +				if (vs->current_link != -1)
> > +					ses->navigate_mode = NAVIGATE_LINKWISE;
> > +				return status;
> >  			}
> >  		}
> >  	}
> 
> _______________________________________________
> elinks-dev mailing list
> [email protected]
> http://linuxfromscratch.org/mailman/listinfo/elinks-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.