Revision: | 1.7 |
Committed: | Mon Feb 6 06:14:08 2006 UTC (18 years, 5 months ago) by root |
Branch: | MAIN |
CVS Tags: | before_dynamic_fontidx, rel-7_6, rel-7_8, rel-7_9, rel-7_7, rel-9_11, rel-9_10, rel-8_1, rel-9_12, rel-8_5a, rel-8_2, rel-8_9, rel-8_8, dynamic_fontidx, rel-8_0, rel-8_4, rel-9_0, rel-8_3, rel-8_6, rel-8_7, rel-9_09, rel-9_02, rel-9_01, rel-9_06, rel-9_07, rel-9_05 |
Changes since 1.6: | +9 -0 lines |
Log Message: | *** empty log message *** |
# | Content |
---|---|
1 | #! perl |
2 | |
3 | sub msg { |
4 | my ($self, $msg) = @_; |
5 | |
6 | my $overlay = $self->overlay (0, 0, $self->strwidth ($msg), 1); |
7 | $overlay->set (0, 0, $msg); |
8 | my $iow; $iow = urxvt::timer->new->after (2)->cb (sub { |
9 | undef $overlay; |
10 | undef $iow; |
11 | }); |
12 | } |
13 | |
14 | sub on_init { |
15 | my ($self) = @_; |
16 | |
17 | for (my $idx = 0; defined (my $res = $self->x_resource ("selection-autotransform.$idx")); $idx++) { |
18 | $res = $self->locale_decode ($res); |
19 | my $transform = eval "sub { $res }"; |
20 | |
21 | if ($transform) { |
22 | push @{ $self->{transforms} }, $transform; |
23 | } else { |
24 | warn "$res: $@"; |
25 | } |
26 | } |
27 | |
28 | $self->{enabled} = 1; |
29 | |
30 | push @{ $self->{term}{option_popup_hook} }, sub { |
31 | ("autotransform" => $self->{enabled}, sub { $self->{enabled} = shift }) |
32 | }; |
33 | |
34 | () |
35 | } |
36 | |
37 | sub on_sel_grab { |
38 | my ($self) = @_; |
39 | |
40 | $self->{enabled} |
41 | or return; |
42 | |
43 | my $text = $self->selection; |
44 | local $_ = $text; |
45 | |
46 | for my $transform (@{ $self->{transforms} }) { |
47 | $transform->(); |
48 | if ($text ne $_) { |
49 | $self->selection ($_); |
50 | s/[\x00-\x1f\x80-\x9f]/ยท/g; |
51 | $self->msg ($self->special_encode ("auto-transformed to $_")); |
52 | last; |
53 | } |
54 | } |
55 | |
56 | () |
57 | } |
58 |