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 *** |
# | User | Rev | Content |
---|---|---|---|
1 | root | 1.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 | root | 1.6 | my $iow; $iow = urxvt::timer->new->after (2)->cb (sub { |
9 | root | 1.1 | undef $overlay; |
10 | undef $iow; | ||
11 | }); | ||
12 | } | ||
13 | |||
14 | sub on_init { | ||
15 | my ($self) = @_; | ||
16 | |||
17 | root | 1.5 | for (my $idx = 0; defined (my $res = $self->x_resource ("selection-autotransform.$idx")); $idx++) { |
18 | root | 1.4 | $res = $self->locale_decode ($res); |
19 | root | 1.1 | my $transform = eval "sub { $res }"; |
20 | |||
21 | if ($transform) { | ||
22 | push @{ $self->{transforms} }, $transform; | ||
23 | } else { | ||
24 | warn "$res: $@"; | ||
25 | } | ||
26 | } | ||
27 | |||
28 | root | 1.7 | $self->{enabled} = 1; |
29 | |||
30 | push @{ $self->{term}{option_popup_hook} }, sub { | ||
31 | ("autotransform" => $self->{enabled}, sub { $self->{enabled} = shift }) | ||
32 | }; | ||
33 | |||
34 | root | 1.1 | () |
35 | } | ||
36 | |||
37 | sub on_sel_grab { | ||
38 | my ($self) = @_; | ||
39 | |||
40 | root | 1.7 | $self->{enabled} |
41 | or return; | ||
42 | |||
43 | root | 1.1 | 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 | root | 1.2 | last; |
53 | root | 1.1 | } |
54 | } | ||
55 | |||
56 | () | ||
57 | } | ||
58 |