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.19 by root, Sun Jun 10 13:58:06 2012 UTC vs.
Revision 1.26 by sf-exg, Mon Jun 9 19:54:26 2014 UTC

1#! perl 1#! perl
2 2
3#:META:X_RESOURCE:%.cmd:string:the command to run create a new pastebin 3#:META:RESOURCE:%.cmd:string:the command to run create a new pastebin
4#:META:X_RESOURCE:%.url:string:the url template for new pastebins 4#:META:RESOURCE:%.url:string:the url template for new pastebins
5
6=head1 NAME
7
8selection-pastebin - automatic pastebin upload
9
10=head1 EXAMPLES
11
12 URxvt.keysym.C-M-e: selection-pastebin:remote-pastebin
13
14=head1 DESCRIPTION
15
16This is a little rarely useful extension that uploads the selection as
17textfile to a remote site (or does other things). (The implementation is
18not currently secure for use in a multiuser environment as it writes to
19F</tmp> directly.).
20
21It listens to the C<selection-pastebin:remote-pastebin> action, which,
22when activated, runs a command with C<%> replaced by the name of the
23textfile. This command can be set via a resource:
24
25 URxvt.selection-pastebin.cmd: rsync -apP % ruth:/var/www/www.ta-sa.org/files/txt/.
26
27And the default is likely not useful to anybody but the few people around
28here :)
29
30The name of the textfile is the hex encoded md5 sum of the selection, so
31the same content should lead to the same filename.
32
33After a successful upload the selection will be replaced by the text given
34in the C<selection-pastebin-url> resource (again, the % is the placeholder
35for the filename):
36
37 URxvt.selection-pastebin.url: http://www.ta-sa.org/files/txt/%
38
39I<Note to xrdb users:> xrdb uses the C preprocessor, which might interpret
40the double C</> characters as comment start. Use C<\057\057> instead,
41which works regardless of whether xrdb is used to parse the resource file
42or not.
43
44=cut
5 45
6sub upload_paste { 46sub upload_paste {
7 my ($self) = @_; 47 my ($self) = @_;
8 48
9 require Digest::MD5; 49 require Digest::MD5;
83 } 123 }
84 124
85 () 125 ()
86} 126}
87 127
128sub on_action {
129 my ($self, $action) = @_;
130
131 $action eq "remote-pastebin"
132 and $self->upload_paste;
133
134 ()
135}
136

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines