}
unlink $tmp or die $!;
+
+ if ($config->{setting}{yank_x11}) {
+ $screen->debug('handler_yank', 'setting X11 selection');
+
+ my @xsel_cmd = qw( xsel --input --primary );
+ my @xclip_cmd = qw( xclip -in -selection primary );
+
+ my $fh;
+ {
+ # We don't care if a program doesn't exist.
+ no warnings;
+
+ if (not open $fh, '|-', @xsel_cmd) {
+ if (not open $fh, '|-', @xclip_cmd) {
+ die "install xsel or xlip to yank to X11 selection\n";
+ }
+ }
+ }
+ print $fh $match->{value} or die $!;
+ close $fh or die $!;
+ }
+
return;
}
sub handler_paste {
=back
+Note that yanking only uses the GNU screen or Tmux paste buffer by default. To
+also copy to X11 selection, enable the B<yank_x11> option.
+
The following additional mappings are available by default:
=over
=item B<smartcase> ignore case unless one uppercase character is searched (C<1>)
+=item B<yank_x11> copy selection also to X11 primary selection when yanking (C<0>)
+
=item B<paste_sleep> sleep x us before running paste command (C<100_000>)
=item B<screen_msgwait> GNU Screen's msgwait variable, used when yanking (C<5>)
multiplexer => undef,
ignorecase => 0,
smartcase => 1,
+ yank_x11 => 0,
paste_sleep => 100_000,
screen_msgwait => 5,
# global mappings