ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/perl/mark-urls
(Generate patch)

Comparing rxvt-unicode/src/perl/mark-urls (file contents):
Revision 1.8 by root, Tue Jan 17 16:22:41 2006 UTC vs.
Revision 1.11 by root, Sat May 20 18:17:38 2006 UTC

1#! perl 1#! perl
2 2
3# same url as used in "selection" 3# same url as used in "selection"
4my $url = 4my $url =
5 qr{( 5 qr{(
6 (?:https?|ftp|news|mailto|file)://[ab-zA-Z0-9\-\@;\/?:&=%\$_.+!*\x27(),~]+ 6 (?:https?://|ftp://|news://|mailto:|file://)[ab-zA-Z0-9\-\@;\/?:&=%\$_.+!*\x27(),~]+
7 [ab-zA-Z0-9\-\@;\/?:&=%\$_+!*\x27()~] # exclude some trailing characters (heuristic) 7 [ab-zA-Z0-9\-\@;\/?:&=%\$_+!*\x27()~] # exclude some trailing characters (heuristic)
8 )}x; 8 )}x;
9 9
10sub on_start { 10sub on_start {
11 my ($self) = @_; 11 my ($self) = @_;
37 () 37 ()
38} 38}
39 39
40sub on_button_release { 40sub on_button_release {
41 my ($self, $event) = @_; 41 my ($self, $event) = @_;
42 my $row = $event->{row};
43 my $col = $event->{col};
44 42
45 my $line = $self->line ($row);
46 my $text = $line->t;
47
48 my $mask = $self->ModLevel3Mask | $self->ModMetaMask 43 my $mask = $self->ModLevel3Mask | $self->ModMetaMask
49 | urxvt::ShiftMask | urxvt::ControlMask; 44 | urxvt::ShiftMask | urxvt::ControlMask;
50 45
51 if ($event->{button} == 2 && ($event->{state} & $mask) == 0) { 46 if ($event->{button} == 2 && ($event->{state} & $mask) == 0) {
47 my $row = $event->{row};
48 my $col = $event->{col};
49
50 my $line = $self->line ($row);
51 my $text = $line->t;
52
52 while ($text =~ /$url/g) { 53 while ($text =~ /$url/g) {
53 if ($-[1] <= $col && $+[1] >= $col) { 54 if ($-[1] <= $col && $+[1] >= $col) {
54 urxvt::exec_async $self->{browser}, $1; 55 $self->exec_async ($self->{browser}, $1);
55 return 1; 56 return 1;
56 } 57 }
57 } 58 }
58 } 59 }
59 60

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines