#!/usr/bin/env perl # Copy PRIMARY selections to the clipboard too with xsel(1). use strict; use warnings; use utf8; use 5.006; use Carp; our $VERSION = 1.0; sub on_start { my ($self) = @_; return $self->enable( sel_grab => \&clip ); } sub clip { my ($self) = @_; my $selection = $self->selection(); utf8::encode($selection); open my $clipboard, q{|-}, 'xsel -ib' or croak('xsel(1) not available'); my $written = print {$clipboard} $selection or croak('Failed to write to xsel(1) pipe'); close $clipboard or croak('Failed to close xsel(1) pipe'); return $written; }