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

Comparing rxvt-unicode/src/perl/selection-pastebin (file contents):
Revision 1.4 by elmex, Tue Jan 17 17:04:18 2006 UTC vs.
Revision 1.9 by root, Thu Jan 19 16:07:09 2006 UTC

1#! perl 1#! perl
2 2
3my $timers = {};
4my $pastebin_cmd; 3my $pastebin_cmd;
5my $pastebin_url; 4my $pastebin_url;
6
7sub on_start {
8 my ($self) = @_;
9 $pastebin_cmd =
10 $self->x_resource ("selection-pastebin.cmd")
11 or "scp -p % ruth:/var/www/www.ta-sa.org/files/txt/";
12
13 $pastebin_url =
14 $self->x_resource ("selection-pastebin.url")
15 or "http://www.ta-sa.org/files/txt/";
16
17 ()
18}
19 5
20sub upload_paste { 6sub upload_paste {
21 my ($self) = @_; 7 my ($self) = @_;
22 8
23 require Digest::MD5; 9 require Digest::MD5;
27 13
28 my $tmpfile = "/tmp/$filename"; 14 my $tmpfile = "/tmp/$filename";
29 15
30 my $msg = "uploaded $filename"; 16 my $msg = "uploaded $filename";
31 17
32 if (open my $o, ">" . $tmpfile) { 18 if (open my $o, ">", $tmpfile) {
19 chmod 0644, $tmpfile;
33 print $o $txt; 20 print $o $txt;
34 close $o; 21 close $o;
35 } else { 22 } else {
36 $msg = "couldn't write $tmpfile: $!"; 23 $msg = "couldn't write $tmpfile: $!";
37 } 24 }
48 $msg = "couldn't upload, '$cmd' failed"; 35 $msg = "couldn't upload, '$cmd' failed";
49 } 36 }
50 37
51 unlink $tmpfile; 38 unlink $tmpfile;
52 39
53 my $ov = $timers->{ov} = $self->overlay (-1, 0, length ($msg), 1, urxvt::OVERLAY_RSTYLE, 0); 40 my $ov = $self->overlay (-1, 0, length $msg, 1, urxvt::OVERLAY_RSTYLE, 0);
54 $ov->set (0, 0, $msg); 41 $ov->set (0, 0, $msg);
55 42
56 $timers->{t1} = 43 my $timer; $timer =
57 urxvt::timer 44 urxvt::timer
58 ->new 45 ->new
59 ->start ((int urxvt::NOW) + 5) # make sure we update "on" the second
60 ->interval (1) 46 ->after (5)
61 ->cb (sub { delete $timers->{ov}; delete $timers->{t1}; }); 47 ->cb (sub {undef $timer; undef $ov; });
62} 48}
49
50sub on_start {
51 my ($self) = @_;
52 $pastebin_cmd = $self->x_resource ("selection-pastebin.cmd")
53 || "rcp -p % ruth:/var/www/www.ta-sa.org/files/txt/";
54
55 $pastebin_url = $self->x_resource ("selection-pastebin.url")
56 || "http://www.ta-sa.org/files/txt/%";
57
58 ()
59}
60
61push @urxvt::ext::selection_popup::hook, sub {
62 ("pastebin upload" => sub { $self->upload_paste })
63};
63 64
64sub on_keyboard_command { 65sub on_keyboard_command {
65 my ($self, $cmd) = @_; 66 my ($self, $cmd) = @_;
66 67
67 $cmd eq "selection-pastebin:remote-pastebin" 68 if ($cmd eq "selection-pastebin:remote-pastebin") {
68 and upload_paste ($self); 69 $self->upload_paste;
70 }
69 71
70 () 72 ()
71} 73}
72 74

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines