ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/perl/confirm-paste
Revision: 1.3
Committed: Sat Jan 8 00:20:45 2011 UTC (13 years, 4 months ago) by sf-exg
Branch: MAIN
Changes since 1.2: +1 -1 lines
Log Message:
Disable overlay's border in confirm-paste.

File Contents

# User Rev Content
1 sf-exg 1.1 #! perl
2    
3     sub msg {
4     my ($self, $msg) = @_;
5    
6 sf-exg 1.3 $self->{overlay} = $self->overlay (0, -1, $self->ncol, 2, urxvt::OVERLAY_RSTYLE, 0);
7 sf-exg 1.1 $self->{overlay}->set (0, 0, $msg);
8     }
9    
10     sub on_tt_paste {
11     my ($self, $str) = @_;
12    
13     my $count = ($str =~ tr/\012\015//);
14    
15     return unless $count;
16    
17     $self->{paste} = \$str;
18     $self->msg ("Paste of $count lines, continue? (y/n)");
19 sf-exg 1.2 (my $preview = $self->locale_decode ($str)) =~ s/\n/\\n/g;
20     $self->{overlay}->set (0, 1, $preview);
21 sf-exg 1.1 $self->enable (key_press => \&key_press);
22    
23     1
24     }
25    
26     sub leave {
27     my ($self) = @_;
28    
29     $self->{paste} = undef;
30     delete $self->{overlay};
31     $self->disable ("key_press");
32     }
33    
34     sub key_press {
35     my ($self, $event, $keysym, $string) = @_;
36    
37     if ($keysym == 121) { # y
38     $self->tt_paste (${$self->{paste}});
39     $self->leave;
40     } elsif ($keysym == 110) { # n
41     $self->leave;
42     }
43    
44     1
45     }