aboutsummaryrefslogblamecommitdiff
path: root/urxvt/ext/clip
blob: b09eadfeb5dcd488bde40736a9d66278f5a8f39f (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11






                                                            



                   







                                        







                                                  


           
#!/usr/bin/env perl

# Copy PRIMARY selections to the clipboard too with xsel(1).

use strict;
use warnings;

use Carp;

our $VERSION = 1.0;

sub on_start {
    my ($self) = @_;
    $self->enable( sel_grab => \&clip );
    return;
}

sub clip {
    my ($self) = @_;
    my $selection = $self->selection();
    utf8::encode($selection);
    open my $clipboard, q{|-}, 'xsel -ib'
      or croak('xsel(1) not available');
    print {$clipboard} $selection
      or croak('Failed to write to xsel(1) pipe');
    close $clipboard
      or croak('Failed to close xsel(1) pipe');
    return;
}