--- rxvt-unicode/src/perl/mark-urls 2006/01/17 16:22:41 1.8 +++ rxvt-unicode/src/perl/mark-urls 2006/05/20 18:17:38 1.11 @@ -3,7 +3,7 @@ # same url as used in "selection" my $url = qr{( - (?:https?|ftp|news|mailto|file)://[ab-zA-Z0-9\-\@;\/?:&=%\$_.+!*\x27(),~]+ + (?:https?://|ftp://|news://|mailto:|file://)[ab-zA-Z0-9\-\@;\/?:&=%\$_.+!*\x27(),~]+ [ab-zA-Z0-9\-\@;\/?:&=%\$_+!*\x27()~] # exclude some trailing characters (heuristic) )}x; @@ -39,19 +39,20 @@ sub on_button_release { my ($self, $event) = @_; - my $row = $event->{row}; - my $col = $event->{col}; - my $line = $self->line ($row); - my $text = $line->t; - my $mask = $self->ModLevel3Mask | $self->ModMetaMask | urxvt::ShiftMask | urxvt::ControlMask; if ($event->{button} == 2 && ($event->{state} & $mask) == 0) { + my $row = $event->{row}; + my $col = $event->{col}; + + my $line = $self->line ($row); + my $text = $line->t; + while ($text =~ /$url/g) { if ($-[1] <= $col && $+[1] >= $col) { - urxvt::exec_async $self->{browser}, $1; + $self->exec_async ($self->{browser}, $1); return 1; } }